Ubuntu下安装MySQL(阿里云服务器)
安装客户端和依赖环境
sudo apt install mysql-server #安装mysql服务器端
sudo apt install mysql-client #安装mysql客户端
sudo apt install libmysqlclient-dev #安装服务端/客户端依赖环境(可有可无,建议安装)
初始化MySQL(MySQL 5.7并未设置默认密码,需要初始化,即运行安全向导)
sudo mysql_secure_installation
安全向导:
1.(是否设置随机密码,Y/y随机密码, N/n自己输入密码)
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (我的选项)
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)
2.(是否删除匿名用户,建议删除)
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y (我的选项)
3.(是否禁止root账户远程登陆,建议禁止)
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y (我的选项)
4.(是否删除test数据库,建议删除)
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y (我的选项)
5.(是否重新加载权限表,应该重新加载)
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)
修改配置文件(具体的看是否需要远程访问数据库)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
/bind #查找bind-address,然后注释该行并保存
重启MySQL服务
sudo service mysql restart
从MySQL-Client登陆MySQL(首次登陆建议以root用户身份登陆)
mysql -u root -p
创建用来远程登陆的用户
create user 用户名(非root用户)
为新建立的用户赋予相应权限
grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option;
# grant 修改用户权限的关键字
# all(增、删、改、查、创建数据库和表等,除grant外的所有权限)
# on 后面跟数据库名.表名(*代表所有)
# to 'username'@'ip'(%代表所有IP均可访问该数据库)
# identified by 'password'
# 关键字:privileges、with grant option
必须使用flush privileges的两种情况
1、改密码。
2、授权超用户。
flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里