一、MYSQL安装
这里是 服务端和客户端同时进行安装,方便服务器也能访问和操作mysql数据库。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install install libmysqlclient-dev
安装过程中会提示输入 Y/N,统一输入 Y 即可。
检查是否安装成功,可输入以下命令查看:
sudo netstat -tap | grep mysql
二、root用户配置
部分版本安装过程中会提示输入 root 密码,输入后mysql就自动添加了root用户的账号和密码。已经添加了可以跳过本章节。
1、默认配置查询
sudo vim /etc/mysql/debian.cnf
直接用框选的 user 和 password 进行登陆。
sudo mysql -u debian-sys-maint -p
提示输入密码,输入配置中的 password后面的值,注意大小写。
2、修改root用户名和密码
查询 user表,查看表中关于 root的相关信息。
select user,authentication_string,plugin,host from mysql.user;
因为没有设置root密码,这里 的authentication_string 默认为空的,需要手动修改为我们想用的密码。
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root密码';
3、授权并重启mysql
这步很重要,只有重新刷新服务,上面的修改才会生效
# 重新授权
FLUSH PRIVILEGES;
# 退出 并重启mysql
sudo service mysql restart
三、远程访问设置
安装mysql,权限和地址都是和本地进行绑定的,也只能本地进行访问,不允许外部地址进行远程访问,以下也是针对localhost进行处理。
mysql 只用于本地访问,可以忽略本章内容。
1.授权给远程电脑登陆权限
# 用root用户登陆
sudo mysql -u root -p
# 输入授权语句
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root密码' WITH GRANT OPTION;
# 刷新配置信息
FLUSH PRIVILEGES;
注意 'root'@'%' 是一个整体地址,中间不能有空格等字符
2、修改配置文件
主要是注释掉 bind-address 这个对本地的绑定。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
出现这样的界面,说明文件找对了,配置文件中有对应的端口,文件和数据存放的路径等配置,可根据实际情况进行修改。
用键盘上下键移动游标(部分鼠标也行,不建议)找到 bind-address 配置,在前面加上 # 注释掉,然后保存文件。
3、重启mysql服务
不管修改了什么配置,都需要重启服务,否则配置都不会生效。
sudo service mysql restart
这时候再查看mysql状态,就能发现,监听地址变成了 [::]
sudo netstat -tap | grep mysql
用数据库可视化软件远程登陆试试。
如果登陆还是不行,初始化mysql安全脚本后再试!
sudo mysql_secrue_installation
总结
1、注意 msyql 的root用户是很重要的,账号密码都要记住。
2、操作数据库推荐创建非管理员权限的用户,用root用户对其他用户进行权限管理,避免其他用户权限过高而对数据进行操作不当带来损失(删库跑路?)
3、配置和数据修改都要对服务进行重启操作,避免不生效的情况。