1. 卸载系统自带mariadb
-
查看系统mariadb版本
rpm -qa | grep mariadb
-
卸载此版本的mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
-
再次确认是否删除mariadb
rpm -qa | grep mariadb
2. 安装MySQL
-
上传至服务器路径 /usr/local/mysql 并解压
cd /user/local mkdir mysql cd /user/local/mysql
上传文件至文件夹,解压至文件夹/user/local/mysql
tar -xvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.29-linux-glibc2.12-x86_64/* /usr/local/mysql
-
创建数据文件夹
mkdir data
-
创建分组及用户
groupadd mysql # useradd -g mysql[用户组] mysql[用户名] # -r:建立系统账号 # -g:指定用户所属的起始群组 useradd -r -g mysql mysql chown -R mysql:mysql /usr/local/mysql
3. 创建配置文件及相关目录
-
修改配置文件:/etc/my.cnf,配置不对的话,后面初始化不全,会拿不到默认密码
添加如下内容vim /etc/my.cnf
# mysql conf /etc/my.cnf # Created by rex # Last Updated 2020.07.21 [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 basedir=/usr/local/mysql datadir=/usr/local/mysql/data/ socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 128M max_allowed_packet = 1M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 8M thread_cache_size = 8 query_cache_size= 16M max_connections = 300 wait_timeout = 30 interactive_timeout = 30 max_connect_errors = 9 long_query_time = 1 tmp_table_size = 16M #log-bin=mysql-bin #binlog_format=mixed #server-id = 1 [mysqldump] quick max_allowed_packet = 8M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 12M sort_buffer_size = 1M read_buffer = 1M write_buffer = 1M [mysqlhotcopy]
4. 创建文件/tmp/mysql.sock:
-
设置用户组及用户、授权
cd /tmp touch mysql.sock chown mysql:mysql mysql.sock chmod 755 mysql.sock
5. 创建文件/tmp/mysqld/mysqld.pid
- vi /tmp/mysqld/mysqld.pid
mkdir mysqld cd mysqld touch mysqld.pid cd .. chown -R mysql:mysql mysqld cd mysqld chmod 755 mysqld.pid
6. 创建文件
- vi /var/log/mysqld.log
touch /var/log/mysqld.log chown -R mysql:mysql /var/log cd /var/log chmod 755 mysqld.log
7. 安装和初始化数据库
-
安装及初始化
cd /usr/local/mysql/bin/ ./mysqld --initialize --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如果报如下错误: ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 可能因为缺少libaio库,运行如下命令检查并安装
rpm -qa|grep libaio yum install libaio
yum 用不了参考这里,或使用如下命令下载离线版
#下载离线包,并上传至服务器 sudo yum install yum-utils –y sudo yumdownloader docker --resolve --destdir=/home/docker #离线的机器上,在rpm文件所在的文件夹内,执行以下脚本 rpm -Uvh --force --nodeps *.rpm
保存上面生成的临时密码
8. 拷贝服务到对应的目录下, 启动mysql服务
-
启动服务
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql /etc/init.d/mysql restart --user=root
9. 登录,修改密码
- 登录
mysql -uroot -p
- 输入上面生成的临时密码
set password=password('xxxxxxx'); flush privileges;
10. 创建软连接(可以在任意位置输入mysql命令)
-
创建软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
11. 设置允许远程连接
- 登录mysql
mysql -u root -p
输入如下命令use mysql; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES;
12. 设置开机自启动
-
添加配置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld
-
检查配置是否开启
chkconfig --list
3,4,5都是on的话则成功,如果是off,则键入chkconfig --level 345 mysqld on
-
重启电脑
reboot
-
验证
netstat -na | grep 3306