1、卸载自带的mysql
rpm -qa | grep -i mysql
rpm -ev 【上述内容】
2、卸载mariadb
rpm -qa | grep mariadb
rpm -e --nodeps 【上述内容】
3、下载mysql安装包并解压到 /usr/local
下载mysql安装包(我的是mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)
#如果想要安装包请看我下一篇分享,明明是选择0币的,但是还是需要4币,如果没有币的话可以私信我免费拿取
tar -xzvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local
4、处理mysql目录
cd /usr/local
mv mysql-5.7.30-linux-glibc2.12-x86_64/ mysql
cd mysql/
mkdir data
5、创建mysql用户
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
6、创建相关配置文件
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/tmp/mysqld/mysqld.pid
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server_id=1
max_connections=1000
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
:wq! 保存退出。
cd /tmp
touch mysql.sock
chown mysql:mysql mysql.sock
chmod 755 mysql.sock
mkdir mysqld
cd mysqld
touch mysqld.pid
cd ..
chown -R mysql:mysql mysqld
cd mysqld
chmod 755 mysqld.pid
touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
cd /var/log
chmod 755 mysqld.log
7、安装初始化数据库
yum install -y libaio (注,下面的操作依赖libaio,如果还报错,请百度一下查看缺少的依赖)
cd /usr/local/mysql/bin/
#初始化数据库
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data
#安全启动
./mysqld_safe --user=mysql &
#正常情况会是如下信息
#查看是否启动成功
netstat -nltp | grep 3306 (如果没有netstat命令,请 yum install -y net-tools)
#默认密码在mysqld.log日志里, 找到后保存到安全的地方:
cat /var/log/mysqld.log
#复制密码
8、进入mysql,设置mysql
#进入bin目录:
cd /usr/local/mysql/bin/
#输入密码,登录mysql:
./mysql -u root -p
#密码修改
set password=password("你的密码");
我设置的是:set password=password("wang123");
#设置root可以远程登录
grant all privileges on *.* to 'root'@'%' identified by '你的密码';
我设置的是:grant all privileges on *.* to 'root'@'%' identified by 'wang123';
#立即生效:
flush privileges;
#退出
quit;
#设置全局变量
ln -s /usr/local/mysql/bin/mysql /usr/bin
#设置开机自启服务
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
#查看
chkconfig --list mysql
9、启动停止命令
service mysql start
service mysql stop
mysql -uroot -p
如果觉得好,可以下面评论
如果不好,也可吐槽。