1. 下载mysql安装包
https://dev.mysql.com/downloads/mysql/
2.上传mysql安装包
3.解压mysql安装包
4.重命名
5.在mysql目录中创建data目录
mkdir data
6.创建mysql的用户群组
groupadd mysql(群组的名字)
7.创建mysql群组下的用户
useradd -r -s /sbin/nologin -g mysql(群组的名字) mysql(用户的名字) -d /usr/local/apps/mysql/mysql8.0
8.为创建的mysql新用户进行授权
chown -R mysql:mysql /usr/local/apps/mysql/mysql8.0
chown [选项]... [所有者][:[组]] 文件路径...
9.初始化mysql数据库
/usr/local/apps/mysql/mysql8.0/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/usr/local/apps/mysql/mysql8.0/data/ --basedir=/usr/local/apps/mysql/mysql8.0 --initialize-insecure
初始化失败:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
yum install libaio* -y
注意:在初始化mysql数据库的时候最后一行会出现一个默认的登录密码,要记下来,mysql8.0一般为空。
注意:要使用mysqld ,而不是mysql
10.修改my.cnf文件
vim /etc/my.cnf
添加文件如下:
[mysqld]
basedir=/usr/local/apps/mysql/mysql8.0
datadir=/usr/local/apps/mysql/mysql8.0/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-link=0
[mysqld_safe]
log-error=/usr/local/apps/mysql/mysql8.0/data/error.log
pid-file=/usr/local/apps/mysql/mysql8.0/data/mysqld.pid
tmpdir=/tmp
11.把mysql添加到系统服务中
在mysql的目录中:
将服务文件拷贝到init.d下,并重命名为mysqld:
cp support-files/mysql.server /etc/init.d/mysqld
设置开机自启:
赋予可执行权限:chmod +x /etc/init.d/mysqld
添加服务:chkconfig --add mysqld
显示服务列表:chkconfig --list
如果看到mysql的服务,并且3,4,5都是开的话则成功,
如果是关,则键入:chkconfig --level 345 mysqld on
重启虚拟机:reboot
再次查看服务列表或者查看3306端口号:
netstat -na | grep 3306
12.编辑mysqld文件
vim /etc/init.d/mysqld
修改涉及到的mysql安装路径
basedir=/usr/local/apps/mysql/mysql8.0
datadir=/usr/local/apps/mysql/mysql8.0/data
13.启动mysql服务
service mysqld start 看到SUCCESS! 即可。
14.登录mysql
在mysql的bin目录下
./mysql -u root -p
15.修改root用户的密码
所有的命令行/sql语句都必须要带分号“;”,而且所有的字符串都必须会使用单引号'',不能使用双引号
set password for 'root'@localhost='root';
16.配置mysql的远程访问
查看所有的数据库
show databases;
使用mysql数据库
use mysql;
查看mysql数据库下的所有表名
show tables;
更改mysql访问权限
update user set host='%' where user='root' limit 1;
17.提交和刷新
flush privileges;
18.Navicat连接linux上的mysql时报如下错误:
执行此命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root账户密码';
创建 用户:
insert into mysql.user(Host,User,Password) values("%","db_user",password("passwd"));
修改密码:
update user set password=password('passwd') where User="db_user";
授权
GRANT SELECT,INSERT,UPDATE,DELETE,EXECUTE,SHOW VIEW ON *.* TO `db_user`@`%`;
CREATE USER `db_user`@`%` IDENTIFIED WITH mysql_native_password BY 'passwd';
GRANT Delete, Execute, Insert, Select, Show View, Update ON *.* TO `db_user`@`%`;