1 检查是否安装了mysql
rpm -qa | grep -I mysql
如果有,类似: mysql-libs-xxx.x86_64\
先关闭mysql服务 卸载
rpm -e --nodeps mysql-libs-5.1.52.x86_64
2 检查否存在 mariadb
数据库,如有,卸载
rpm -qa | grep mariadb
卸载mariadb
sudo rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
注意,有可能mariadb要某些依赖才能卸载,要么安装完依赖再卸载,或者如下,强制卸载:
sudo rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
3 检查操作系统
查看linux版本是centos还是redhat
cat /etc/redhat-release
则会出现具体系统
Red Hat Enterprise Linux AS release 4 (Nahant Update 8) Kernel /r onan /m
或
CentOS release 7.8 (Final)
查看linux系统是64位还是32位
getconf LONG_BIT
64
下载安装mysql
1.下载
mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
2.解压
.tar.xz这种文件其实是两层压缩,外层是.xz压缩方式,内层是.tar压缩方式。
解压过程也分为两层:
xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
,之后就会出现mysql-8.0.15-linux-glibc2.12-x86_64.tar文件然后
tar xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar
即可完成解压
xz -d mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.15-linux-glibc2.12-x86_64.tar
改名为mysql
mv mysql-8.0.15-linux-glibc2.12-x86_64 mysql
移动目录
mv mysql /usr/local
cd /usr/local/mysql
mkdir data
3.编辑 my.cnf
vi /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=error.log
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
#skip-grant-tables
4.创建用户
groupadd mysql
useradd -g mysql mysql
5.更改目录权限
chown -R mysql:mysql /tmp/mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /tmp/mysql /usr/local/mysql
6. 初始化
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
7.初始化密码
初始化时并没有出现 初始密码,因此需要修改密码。
注释
skip-grant-tables
,可以使用无密码登录
启动 mysql
./support-files/mysql.server start
8.修改密码
1.清空密码
use mysql;
update user set authentication_string='' where user='root';
2.无密码登录
mysql -u root -p
输入密码是直接回车。
ALTER user 'root'@'localhost' IDENTIFIED BY 'root';
这样就修改好密码了。
自此 mysql 就安装好了。
9. 设置自动启动
cd support-files/
cp mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
cd /etc/init.d
chkconfig --add mysql
chkconfig --level 345 mysql on
mysql restart
10. 远程连接
1.在 my.cnf 的mysqld 下增加
default_authentication_plugin=mysql_native_password
2.进入mysql命令行
use mysql
update user set host ='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
使用客户端工具进行连接。