MySQL部署
1. RPM包安装
1.1. 安装依赖
yum -y install libaio net-tools perl openssl-devel
1.2. 解压安装
tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
1.3. 安装数据库(顺序)
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
1.4. 修改配置文件
vim /etc/my.cfg
datadir=/mnt/mysql/data
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
max_connections=1000
wait_timeout=28800
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-error=/mnt/mysql/logs/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.5. 创建数据库所需目录并授权
mkdir -p /mnt/mysql/{data,logs}
touch /mnt/mysql/logs/mysqld.log
chown -R mysql:mysql /mnt/mysql
1.6. 初始化数据库
mysqld --initialize --user=mysql
1.7. 关闭linux setenforce
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
1.8. 启动数据库
systemctl start mysqld
1.9. 获取数据库密码
grep password /mnt/mysql/logs/mysqld.log
1.10. 登陆数据库初始化root密码
mysql -uroot -p
> alter user 'root'@'localhost' IDENTIFIED BY 'root';
1.11. 允许root的访问地址
> use mysql;
mysql> select host,user from user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+---------------+
3 rows in set (0.00 sec)
mysql> update user set host = '%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
1.12. 开启远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mysql_123456' WITH GRANT OPTION;
2. Tar包安装
2.1. 安装依赖
yum -y install libaio net-tools perl openssl-devel
2.2. 下载服务包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
2.3. 解压安装
tar xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
2.4. 修改配置文件
vim /etc/my.cnf # 修改配置文件,如下图
[mysqld]
port=3306
user=mysql
basedir=/opt/mysql
datadir=/mnt/mysql/data
socket=/mnt/mysql/data/mysql.sock
log-error=/mnt/mysql/logs/mysqld.log
pid.file=/var/mysql/mysql.sock
[client]
port=3306
socket=/mnt/mysql/data/mysql.sock
2.5. 创建用户和组
groupadd mysql
useradd -g mysql mysql -s /sbin/nologin
2.6. 授权mysql用户
chown -R mysql:mysql /opt/mysql
chown -R mysql:mysql /mnt/mysql
2.7. 初始化MySQL
cd /opt/mysql/bin
./mysqld --initialize --user=mysql --basedir=/opt/mysql/ --datadir=/mnt/mysql/data/
2.8. 启动服务
/etc/init.d/mysql start | stop | restart
2.9. 登陆数据库
报错:./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No
解决:sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
mysql -uroot -p
2.10. 修改密码和登陆权限、
> alter user 'root'@'localhost' IDENTIFIED BY 'passwd';
> update user set host='%' where user ='root';