Linux安装&配置Mysql8
一、通过命令行进行安装
-
安装
yum install mysql-community-server -
启动
systemctl start mysqld # 或者 service mysqld start -
查看启动状态
systemctl status mysqld # 或者 service mysqld status -
设置开机自启
systemctl enable mysqld systemctl daemon-reload -
查看mysql默认密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log -
登录
mysql -uroot -p -
修改登录密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Langkye@123'; --或者 set password for 'root'@'localhost'=password('TestBicon@123'); -- update user set password=password("langkye") where user="root"; -
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。
修改root用户远程访问权限
use mysql; select host, user from user;查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
-
授权 root 用户的所有权限并设置远程访问
GRANT ALL ON *.* TO 'root'@'%'; --或 update user set host='%' where user ='root'; --或者 grant all privileges on *.* to 'root'@'localhost' ; -
刷新
flush privileges; --FLUSH PRIVILEGES; -
重启mysql服务
service mysql restart # service mariadb restart
二、通过压缩包进行安装
2.1下载

- 下载: Compressed TAR Archive mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
2.2前戏
- 将压缩包移到
/usr/local/
sudo mv mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz /usr/local/
- 解压
sudo tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
- 重命名
sudo mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql
- 创建用户组
sudo groupadd mysql
-
创建用户
将mysql用户添加的mysql用户组
-r:表示mysql是系统用户,不可用于登录系统。sudo useradd -r -g mysql mysql -
授权
sudo chown -R mysql /usr/local/mysql
sudo chgrp -R mysql /usr/local/mysql
- 创建数据存放目录
sudo mkdir -p /data/mysql
2.3配置my.cnf文件
- 编辑
/etc/my.cnf
sudo vim /etc/my.cnf
- 作如下编辑
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
#symbolic-links=0
explicit_defaults_for_timestamp=true
2.4安装
-
初始化
进入bin目录cd /usr/local/mysql/bin执行
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize如果出错:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,缺少libaio-dev依赖。sudo apt-get install libaio-dev # Ubuntu # yum install libaio-devel.x86_64 # CentOS. 这条报错换下面 # yum -y install numactl # CentOS再执行初始化,成功!

-
查看初始秘密
cat /data/mysql/mysql.err
# A temporary password is generated for root@localhost: g4r<jJKt.lZ&
# 用户名:root
# 初始密码:g4r<jJKt.lZ&

2.5启动Mysql服务
- 将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
-
重启
-
启动
service mysql start
- 查看状态
ps -ef | grep mysql
如图这样,则安装成功了:

2.6修改密码
登陆
mysql -uroot -p初始密码
如果报错:mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 安装libncurses5:
- ubuntu
sudo apt install libncurses5
- centos
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
- 开启远程访问权限(授权远程连接)
grant all on *.* to 'root'@'%';
alter user user() identified by "langkye";
--ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
--update user set authentication_string='langkye' where user='root';
FLUSH PRIVILEGES;
三、重置密码
- 编辑/etc/my.cnf文件
vim /etc/my.cnf
-
在[mysqld]里添加 skip-grant-tables
-
重启mysql服务,连接mysql无密码登录
-
使用mysql数据库:
use mysql;。 -
清空密码
use mysql; update user set authentication_string='' where user='root'; -
删除[mysqld]里添加 skip-grant-tables
-
重启mysql服务
-
无密登陆
-
修改密码
ALTER USER root@localhost IDENTIFIED BY "Langkye@123456"; flush privileges;
四、卸载
-
卸载软件
yum remove mysql-community-server -
完成后使用rpm -qa|grep mysql命令查看,如果有查询结果,则使用yum remove 名称清理掉。
-
再使用命令rpm -qa | grep -i mysql查看,如果有结果使用rpm -e 名称卸载。
-
删除文件
rm -rf /var/lib/mysql rm /etc/my.cnf rm -rf /usr/share/mysql-8.0 -
如果需要重新安装,在安装完成启动之前可以先对mysql目录赋予权限防止异常发生
chmod -R 777 /var/lib/mysql

浙公网安备 33010602011771号