本次安装使用的是虚拟机,系统使用centos6.5 64位版本,mysql使用的是linux通用版本5.7.28,8.0版本也适用此教程
一、下载链接地址https://dev.mysql.com/downloads/mysql/
选择通用版本下载
二、安装前的系统环境配置
1、卸载原有(系统自带的)的mysql
rpm -qa | grep -i mysql 查看是否自带了mysql
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 强力卸载
检查是否还有mysql的配置文件
find / -name mysql 查看用户组是否存在cat /etc/group | grep mysql 查看用户是否存在cat /etc/passwd |grep mysql
2、添加用户及用户组、新建相关目录。
groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql #useradd -r参数表示mysql用户是系统用户,不可用于登录系统
新建目录
上传文件解压并重命名保存至目录/usr/local/mysql 数据库保存位置(新建):/data/mysql 日志保存位置(新建):/data/log/mysql
上传解压安装包
重命名解压包,并移动至/usr/local下
3、更改文件属组
复制文件到/usr/local 更改该目录属性 chown -R mysql:mysql /usr/local/mysql 更改数据位置属性 chown -R mysql /data/mysql 更改日志文件属性 chown -R mysql /data/log/mysql
三、安装mysql
1、提前配置my.cnf配置文件,并放置于/etc目录下
配置参考如下
[mysql] port=3306
default-character-set=utf8 [mysqld] port=3306 basedir=/usr/local/mysql datadir=/data/mysql character_set_server=utf8 log-error=/data/log/mysql-error.log default-storage-engine=INNODB max_connections=300
#linux下用于不区分表大小写,windows下不用加,windows默认是不区分大小写的
lower_case_table_names = 1
default_authentication_plugin = mysql_native_password 8之后的版本需要设置这个参数,因为其默认的是sha2,不设置的话用navicat可能会报错。
参考https://blog.csdn.net/maoxinwen1/article/details/88629313
2、执行安装,进入/usr/local/mysql-5.7.28目录执行
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/
如果报以下错误
1、bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:yum install -y libaio
2、bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决方法:yum -y install numactl
执行完成后,到日志内看下初始密码,并记住。
我这个初始密码即为bA&nR.sIV4i1
接着执行下面语句,无日志。
bin/mysql_ssl_rsa_setup --datadir=/data/mysql/
3、启动数据库
/etc/init.d/mysqld start
注意 如上报错,解决方法是复制support-files内的mysql.server到以下目录,并修改为mysqld,
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
同时修改mysqld配置,修改增加以下两行配置
basedir=/usr/local/mysql
datadir=/data/mysql
执行完毕
4、进入安装目录,重置mysql管理员账户密码
bin/mysql -uroot -h127.0.0.1 -p ---注意如果端口不是默认的3306,则需要加-P 端口号
输入之前查询到的密码,进入到sql命令行,重新设置密码
set password=password('123456'); grant all privileges on *.* to 'root'@'%' identified by '123456'; flush privileges;
方法--未测试
use mysql
update user set password=password("这里输入新密码") where user="用户名";
flush privileges;
在mysql8.0.20中,修改密码方法为
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;
创建新用户
create user test identified by '123456'; create database testdb; grant all on testdb.* to 'test'@'%'; flush privileges;
此时可以测试test用户登录,如果提示mysql命令不存在,需要映射链接到/usr/bin,执行以下命令即可。
ln -s /usr/local/mysql-5.7.28/bin/mysql /usr/bin
也可以提前将该链接映射
在centos8上安装8.0.20登录时报错
[root@anhui-01 mysql-8.0.20]# mysql -u root -p
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
解决办法:
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
5、为方便以后执行命令不要再去部署目录,配置环境变量。
vi /etc/profile export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
配置以下文件,设置开机自动启动数据库,
--cd /usr/local/mysql/ --cp support-files/mysql.server /etc/init.d/mysqld 这一步之前做过 chmod 755 /etc/init.d/mysqld 默认一般即为755 chkconfig --add mysqld chkconfig --level 345 mysqld on
从windows服务器登录navicat测试
导入表测试
验证没问题