ubuntu部署-mysql
问题
在下载中,如遇到源的问题,请跳转到换源篇章
需要了解更多或者更为细致,请前往MySQL官网软件开发模块 :: 开发者专区 (mysql.com)
开始配置
下载mysql
在命令行输入,以下命令,遇到问题输入y即可
1 |
|
下载好后,默认有一个没有密码的超级账号,输入以下代码即可进入mysql命令行
1 |
|
配置用户
查看用户表
mysql的用户信息是存储在mysql库的user表里的,执行以下命令,查看用户的信息
1 |
|
创建用户
使用以下命令,可创建用户
1 |
|
其中ip地址或者域名那里,如果使用通配符**%**代替,则代表可以在任何电脑使用你这个账号进行登录
查看用户权限
刚刚创建的用户是没有操作表权限的
在命令行输入
1 |
|
授予用户权限
授予用户的万能公式是
1 |
|
其中WITH GRANT OPTION
是代表赋予这个用户赋予其他用户的权限,可加可不加
要是要,赋予这个用户全部权限,可执行以下命令
1 |
|
其中All
代表赋予出除了授予他人特权之外的全部权限,其中*.*
代表可以操作所有的库中的所有表
修改用户密码
使用以下命令,即可
1 |
|
其中caching_sha2_password
代表登录时身份验证是使用caching_sha2_password插件进行验证
超级重要的!!!
这个对于想要远程连接时是必须的!!!
因为Ubuntu的mysql默认是不允许其他主机连接,所以必须修改相应配置!!!
本人表示非常难受(因为本来不知道)
配置文件是/etc/mysql/mysql.conf.d/mysqld.cnf
输入命令行
1 |
|
将其中的bind-address=127.0.0.1
修改成bind-address=0.0.0.0
然后再:wq
保存退出
再输入命令重启mysql
1 |
|
mysql的校验规则
mysql 5.7后如果程序中的sql语句使用了group by等,可能会报1055的错,其原因是mysql5.7 版本中有了一个select mode(严格模式)
临时办法(重启mysql后失效)
打开mysql命令行执行
1 |
|
但要在拥有root权限下
其中原因sql_mode是一组语法校验规则
永久办法
打开/etc/mysql/mysql.conf.d/mysqld.cnf
文件
在其[mysqld]
下添加
1 |
|
然后再进行重启mysql
1 |
|
完成