Ubuntu18.04.2LTS安装MySQL
条评论MySQL是一个开源数据库管理系统,通常作为流行的LAMP (Linux,Apache,MySQL,PHP / Python / Perl)的一部分进行安装。 它使用关系数据库和SQL(结构化查询语言)来管理其数据。
环境
- Ubuntu 18.04.2 LTS
- MySQL 5.7.26
- MySQL Workbench (可视化*可选)
安装
在 Ubuntu 18.04 中,默认情况下最新版本的 MySQL 包含在 APT 软件包存储库中,直接执行安装即可。
1 | sudo apt update |
配置
接下来配置MySQL,执行命令,运行MySQL附带的安全脚本,根据提示操作修改一些默认规则。
1 | sudo mysql_secure_installation |
验证
安装完MySQL已经开始自动运行。 运行命令检查一下状态。
1 | systemctl status mysql.service |
显示如上信息说明mysql服务是正常的。
如果MySQL没有运行,你可以用sudo systemctl start mysql
启动它。
尝试使用mysqladmin工具连接到数据库,该工具是允许您运行管理命令的客户端。 例如,该命令表示以root身份连接到MySQL( -u root ),提示输入密码( -p )并返回该版本。
1 | sudo mysqladmin -p -u root version |
得到类似以下输出:
可视化
MySQL可视化工具软件安装
1 | sudo apt-get install mysql-workbench |
在Ubuntu中打开MySQL Workbench软件可以看到有一个本地连接,点进去打开开报错了。
这跟前面配置有一些关系,前面删除了匿名用户和测试数据库,禁止了远程root用户登录。
这里来通过配置添加一个可以访问的数据库。
进入MySQL控制台
1 | sudo mysql -uroot -p |
新建数据库和用户
1 | // 创建数据库ticket |
我们在前面MySQL配置时,增加了密码强度验证插件validate_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置并报错类似
ERROR 1819 (HY000):Your password does not satisfy the current policy requirements
。前面我选择的是[1] MEDIUM Length >=8 , numeric,mixed case, and special characters
进行访问控制配置
1 | // 允许xmai用户可以从任意机器上登入mysql |
配置完成。
打开MySQL workbench连接数据库
配置访问的数据库用户名和密码,确定。
允许局域网连接
修改连接 bind-address
配置项
1 | $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf |
修改bind-address = 127.0.0.1
配置或者修改为bind-address = 0.0.0.0
,来允许所有IP访问,或者输入一个你指定的IP地址
保存后使用以下命令重启mysql
1 | $ sudo /etc/init.d/mysql restart |
使用以下命令进入mysql修改访问权限
1 | $ sudo mysql -uroot -p |
命令中的两个星号,第一个星号表示数据库名称,第二个星号表示该数据库下的某个表名称。写成两个星号表示所有的数据库都进行授权。
root表示授权root账号。
“%”表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。
“password”表示分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码
所以此处可以写成:
1 | grant all PRIVILEGES on testdabatase.testtable to username@'192.168.1.2' identified by 'user-pass'; |
Error 1366: Incorrect string value: ‘\xE7\xA0\x94\xE5\x8F\x91…’ for column ‘departname’ at row 1
插入数据时,报异常。MySQL的utf8编码最多3个字节,UTF-8编码有可能是两个、三个、四个字节,如Emoji表情或者某些特殊字符是4个字节,所以数据插不进去 。
一顿搜索后找到解决方案
- 在mysql的安装目录下找到
/etc/mysql/my.cnf
,作如下修改
1 | [mysqld] |
修改后重启Mysql sudo service mysql restart
- 将已经建好的表也转换成utf8mb4
在终端执行sudo mysql -uroot -p
命令进入MySQL控制台
然后执行 命令:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin;
将TABLE_NAME替换成你的表名即可。
可以看到插入数据成功!
Reference
解决mysql插入数据时出现Incorrect string value: ‘\xF0\x9F…’ for column ‘name’ at row 1的异常
本文标题:Ubuntu18.04.2LTS安装MySQL
文章作者:xmaihh
发布时间:2019-05-17
最后更新:2019-05-17
原始链接:https://xmaihh.github.io/blog/2019/05/17/ubuntu18-04-2lts-an-zhuang-mysql/
版权声明:采用[CC BY-NC-SA 4.0许可协议]进行许可
分享