linux下配置mysql8

下载需要的mysql8的安装包(本次我安装的8.0.18的安装包,不过差距不会很大,根据系统选择需要安装32位或64位)

也可以通过网络路径直接下载(可以自行百度)

https://dev.mysql.com/downloads/mysql/

 

 

 

 

cd /usr/local/ (目录)

tar -zxvf(xvf) mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz (解压)

mv xxx mysql (改目录名)

 

在mysql目录下创建data,用于存储数据

cd mysql/

mkdir data

创建 mysql 用户组和 mysql 用户

groupadd mysql
 
useradd -g mysql mysql

给与数据目录权限

chown -R mysql.mysql /usr/local/mysql/data

 

改变 mysql 目录权限

chown -R mysql.mysql /usr/local/mysql/

初始化数据库

/usr/local/mysql/bin/mysqld --initialize --user=mysql

初始化失败提示如下时

执行如下,之后再输入一遍初始化命令

yum install -y libaio

初始化成功时,备份好自己的临时密码

 

进行mysql的配置

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改my.cnf文件

vim  /etc/my.cnf

[mysqld]
socket=/tmp/mysql.sock
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
user=mysql
port=3306
character-set-server=utf8
#skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

ESC :wq 保存退出

mysql服务添加到系统服务

cp -a ./support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld    

chkconfig --add mysqld

之后配置全局环境变量

vim /etc/profile

在最后两行添加配置

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

export PATH

ESC :wq 保存退出

使配置立刻生效

source /etc/profile

之后就可以启动mysql服务了

cd /usr/local/mysql/support-files

./mysql.server start

如果出现这个问题

则创建对应的log文件,并给予权限再重启

mkdir /var/log/mariadb 
touch /var/log/mariadb/mariadb.log 
chown -R mysql:mysql  /var/log/mariadb/

 

启动成功

 

登陆mysql

mysql -uroot -p

 输入之前备份的临时密码

首先得设置一个密码,不然会出现这个错误

 

 

 设置密码:

alter user 'root'@'localhost' identified by 'Root@123456';
// 更新
flush privileges;

 由于mysql8以后的身份验证插件(caching_sha2_password)

 原来的身份验证插件为(mysql_native_password)

 现在一部分客户端工具还是mysql_native_password的身份验证,所以将加密规则还原成mysql_native_password才能登陆

 查看加密方式

select user,plugin from user where user='root'; 

 先设置远程连接

 

mysql>use mysql;

mysql>update user set host='%' where user='root' limit 1;

mysql>flush privileges;  (刷新)

 

 

 再更改加密方式

mysql>use mysql;
 
mysql>alter user 'root'@'%' identified with mysql_native_password by 'your password';

 修改新的密码

mysql> ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
 
mysql> flush privileges; (刷新)

 

quit; (退出mysql)

cd /usr/local/mysql/support-files

.
/mysql.server restart (重启)

如果是端口问题的话可以查看端口是否对外开放,百度自行配置防火墙,因为使用的是阿里的安全组所以这些不需要我自己去配置

 

欢迎指正错误

posted @ 2020-11-21 16:51  也算知书识礼人  阅读(433)  评论(0)    收藏  举报