[toc]
MySQL安装
安装方式
版本选择
MySQL官网下载入口链接
MySQL5.6:GA 6-12个月,小版本是偶数版
MySQL5.7:GA 6-12个月,小版本是偶数版,mysql5.7.20以上版本(新增MGR高可用功能)





环境准备
主机名 |
IP |
安装方式 |
db01 |
10.0.0.51 |
yum |
db02 |
10.0.0.52 5.6 |
源码 |
db03 |
10.0.0.53 5.6 |
二进制 |
db04 |
10.0.0.54 5.7 |
二进制 |
三种方式安装MySQL
MySQLyum安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7- 7.noarch.rpm
yum list|grep mysql
vim mysql-community.repo [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7- community/el/7/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0- community/el/7/$basearch enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
yum install -y mysqlserver
systemctl start mysqld
cat /var/log/mysqld.log grep 'password' /var/log/mysqld.log 2023-03-28T04:38:20.263481Z 1 [Note] A temporary password is generated for root@localhost: aslDSBoyy2
mysql -uroot -paslDSBoyy2
|

MySQL源码安装(mysql-5.6.50)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| yum install -y gcc glibc gcc-c++ cmake openssl-devel ncurses-devel autoconf
tar xf mysql-5.6.50.tar.gz
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.50 \ -DMYSQL_DATADIR=/app/mysql-5.6.50/data \ -DMYSQL_UNIX_ADDR=/app/mysql-5.6.50/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_ZLIB=bundled \ -DWITH_SSL=system \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_DEBUG=0
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.50 \
-DMYSQL_DATADIR=/app/mysql-5.6.50/data \
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.50/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
make && make install
ln -s /app/mysql-5.6.50 /app/mysql
cp /app/mysql/support-files/my-default.cnf /etc/my.cnf vim /etc/my.cnf [mysqld]
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
mkdir /app/mysql/tmp
useradd mysql -s /sbin/nologin -M
cd /app/mysql/scripts && ./mysql_install_db --user=mysql --basedir=/app/mysql-5.6.50 --datadir=/app/mysql-5.6.50/data
chown -R mysql.mysql /app/mysql*
/etc/init.d/mysqld start
vim /etc/profile.d/mysql.sh export PATH="/app/mysql/bin:$PATH"
source /etc/profile.d/mysql.sh
|

MySQL二进制安装(mysql-5.6.50)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| yum install -y autoconf libaio-devel
tar xf mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz
mkdir /app && mv mysql-5.6.50-linux-glibc2.12-x86_64 /app/mysql-5.6.50
ln -s /app/mysql-5.6.50 /app/mysql
vim /etc/my.cnf [mysqld] basedir=/app/mysql // 指定程序安装的目录 datadir=/app/mysql/data // 指定程序的数据存放目录
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
useradd mysql -s /sbin/nologin -M
cd /app/mysql/scripts && ./mysql_install_db --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
/etc/init.d/mysqld start
sed -i 's#/usr/local#/app#g' /etc/init.d/mysqld
vim /etc/profile.d/mysql.sh export PATH="/app/mysql/bin:$PATH"
source /etc/profile.d/mysql.sh
mysql
|
管理mysql
使用systemd管理mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| /app/mysql-5.6.50/bin/mysqld --basedir=/app/mysql-5.6.50 --datadir=/app/mysql-5.6.50/data --plugin-dir=/app/mysql-5.6.50/lib/plugin --user=mysql --log-error=db02.err --pid-file=/app/mysql-5.6.50/data/db02.pid
/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
vim /usr/lib/systemd/system/mysqld.service
[Unit] Description=MySQL Server
After=network.target,syslog.target
[Service] ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
[Install] WantedBy=multi-user.target
systemctl enable mysqld
|
密码相关操作
1 2 3 4 5 6 7
| mysql> alter user root@'localhost' identified by 'xxxxx';
mysqladmin -uroot -p password '123' mysqladmin -uroot -p password '456' mysqladmin -uroot -p456 password '789'
|
安装示例
MySQL源码安装(mysql-5.7.40)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| yum install -y gcc glibc gcc-c++ cmake openssl-devel ncurses-devel autoconf
tar xf mysql-boost-5.7.40.tar.gz
cd /root/mysql-5.7.40/ && cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.7.40 \ -DMYSQL_DATADIR=/app/mysql-5.7.40/data \ -DMYSQL_UNIX_ADDR=/app/mysql-5.7.40/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITH_ZLIB=bundled \ -DWITH_SSL=system \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLE_DOWNLOADS=1 \ -DWITH_DEBUG=0 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/root/mysql-5.7.40/boost/boost_1_59_0
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.50 \
-DMYSQL_DATADIR=/app/mysql-5.6.50/data \
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.50/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/root/mysql-5.7.40/boost/boost_1_59_0
make && make install
ln -s /app/mysql-5.7.40 /app/mysql
cp /app/mysql/support-files/my-default.cnf /etc/my.cnf vim /etc/my.cnf [mysqld]
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
mkdir /app/mysql/tmp
useradd mysql -s /sbin/nologin -M
chown -R mysql.mysql /app/mysql*
cd /app/mysql/bin && ./mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
/etc/init.d/mysqld start
vim /etc/profile.d/mysql.sh export PATH="/app/mysql/bin:$PATH"
source /etc/profile.d/mysql.sh
mysql -uroot -p'Bcm+FH51Ej3V'
|

MySQL二进制安装(mysql-5.7.40)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| yum install -y autoconf libaio-devel
tar xf mysql-5.7.40-linux-glibc2.12-x86_64.tar tar xf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
mkdir /app && mv mysql-5.7.40-linux-glibc2.12-x86_64 /app/mysql-5.7.40
ln -s /app/mysql-5.7.40 /app/mysql
vim /etc/my.cnf [mysqld] basedir=/app/mysql // 指定程序安装的目录 datadir=/app/mysql/data // 指定程序的数据存放目录
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
useradd mysql -s /sbin/nologin -M
./mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
/etc/init.d/mysqld start
sed -i 's#/usr/local#/app#g' /etc/init.d/mysqld
vim /etc/profile.d/mysql.sh export PATH="/app/mysql/bin:$PATH"
echo $PATH
source /etc/profile.d/mysql.sh
mysql -uroot -pHelp9090
|