Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录

1、在/usr/local 下新建mysql

mkdir mysql

2、进入到mysql文件夹中

cd mysql

3、下载mysql,并使用tar xvjf 解压

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

4、重命名解压后的文件夹

mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0

5、在/usr/local/mysql/mysql-8.0 下新建data文件夹,后续会用到

mkdir data

6、创建mysql用户组以及用户和密码

groupadd mysql
useradd -g mysql mysql

7、授权用户

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

8、切换到bin目录下,安装libaio,并初始化基础信息

cd bin

yum install -y libaio

./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize

9、切记记录下,上一步骤初始化信息后得到临时密码,容易忽略

Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第1张图片

10、编辑my.cnf文件,打开命令:vi /etc/my.cnf

#插入或者更新以下代码
basedir=/usr/local/mysql/mysql-8.0/
datadir=/usr/local/mysql/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

同时禁用my.cnf文件中以下代码,具体如下:

[mysqld]
#datadir=/var/lib/mysql
datadir=/usr/local/mysql/mysql-8.0/data
basedir=/usr/local/mysql/mysql-8.0
#socket=/var/lib/mysql/mysql.sock
socket=/tmp/mysql.sock
skip-grant-tables
character-set-server=UTF8MB4
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

11、回到安装mysql目录下/usr/local/mysql/mysql-8.0添加mysqld服务到系统

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

12、授权以及添加服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql

13、启动服务

service mysql start

如果启动不成功,报如下错误:

 需要执行两个步骤:

·1、

 14、查看mysql运行状态

service mysql status

15、将mysql命令添加到服务

ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin

16、登录mysql  mysql -uroot -p 密码使用之前第9步随机生成的密码Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第2张图片

 如果此处忘记记录临时密码,可以通过命令打开my.conf文件:vi /etc/my.conf  加入一行代码:

skip-grant-tables,这样登录时,在输入密码处会跳过验证,直接登录mysql

Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第3张图片

 17、修改root密码,其中“654321”是你自己的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '654321';

18、执行命令,使得新密码生效

flush privileges;

19、执行命令,使得远程连接数据库生效

update user set host='%' where user='root';
 
flush privileges;

20、如果你只需要安装mysql,那么到此就结束了!通过命令操作数据库,那么可以继续观看

21、新建一个有字符集与排序的数据库

create database `database_name` charset utf8mb4 collate utf8mb4_0900_ai_ci;

22、补充一点,如果有人连接的时候报:

Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第4张图片

这个错,可以本机连接一下,然后通过下图中这几个命令看下,是否是只可本机连接:

Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第5张图片

如果是这样,那么就需要执行如下命令来附其他机器可访问权限:

Linux完整安装Mysql8.0过程及安装中遇到的几个异常问题处理记录_第6张图片

附上面2个图的代码(登录本机mysql后执行):

use mysql;
select user,host from user;
update user set host = '%' where user = 'root';
select user,host from user;

此处切记2点:

1、数据库名加单引号(该单引号是切换为英文后键盘1、2、3、4前边那个);

2、末尾要要加分号,要不执行不了;

22、查看创建的数据库命令:

show databases;

23、如果有sql文件(如改sql文件在/usrl/ocal下)导入,可执行:

source /usr/local/abctest.sql

24、其他的增删改查命令就和咱们平时使用一样了

25、退出mysql登录

exit

你可能感兴趣的:(linux,mysql,运维)