1、下载tar.gz包
https://dev.mysql.com/downloads/mysql/
2、解压tar包
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /usr/local
3、文件夹重命名或者建立软连接
ln -s mysql-8.0.11-linux-glibc2.12-x86_64 mysql
4、添加独立的数据库系统用户与用户组
useradd mysql
id mysql
5、给mysql文件夹赋权
chown -R mysql:mysql mysql chown -R mysql:mysql mysql-8.0.11-linux-glibc2.12-x86_64/
6、建立独立的数据库目录并赋予mysql的权限
mkdir /data chown -R mysql:mysql /data
7、使用独立的数据库用户启动数据库服务,初始化数据目录
su mysql
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data
8、数据库报错解决问题
报错:bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决:使用root系统用户执行yum -y install numactl.x86_64
报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决:1. vi /etc/my.cnf 在[mysqld]下加入 socket=/tmp/mysql.sock,重启mysql
2. 可能是默认的client连接的socket在/tmp下,需要去my.cnf文件中加上client的配置
[client]
socket=/var/lib/mysql/mysql.sock
添加完成后重启mysql。
忘记密码:vi /etc/my.cnf [mysqld]下加入:skip-grant-tables,重启mysql服务,登录将跳过密码认证。
更改数据库密码:
ALTER USER 'root'@'localhost'IDENTIFIED BY 'new_password';
报错: Database changed mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1234'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决:执行 flush privileges;
mysql默认的日志路径为/var/log/mysqld.log
9、数据库配置文件以及启动脚本
cp /usr/local/mysql/support-files/ mysql.server /etc/init.d/
10、编辑/etc/my.cnf 以及/etc/init.d/mysql.server文件上的参数
basedir=<数据库安装目录>
datadir=<数据目录>
11、修改mysql用户可以远程登录
GRANT ALL PRIVILEGES ON . TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
或者:
update user set host = '%' where user = 'root';
flush privileges;