设置字符编码
有时候MySQL中的表需要存储中文,需要设置表的字符编码为utf8,否则默认的字符编码有可能不能正确处理中文,在MySQL中设置表的字符编码如下:通过命令查看MySQL表的字符编码,如下:
如下设置:
字符编码设置utf8成功,MySQL的status运行状态和运行参数都是通过全局变量来控制的,用show status和show variables两个命令可以查看这些信息,用set可以设置这些信息,改变配置。
设置存储引擎
如何查看当前MySQL版本都支持哪些存储引擎呢?如下命令:
Support后面是DEFAULT,表示当前使用的存储引擎,可以看到上面是InnoDB存储引擎。可以在创建表的时候指定存储引擎,如下:
也可以修改已存在表的存储引擎,如下:
还可以修改配置文件,MySQL Server启动的时候都会加载一个配置文件,windows下是my.ini文件,linux下是my.cnf文件,打开配置文件,在[mysqld]下面添加如下内容,保存,重启MySQL Server服务器,默认就采用配置项指定的存储引擎了。
数据备份与恢复
通过mysqldump命令把指定db里面的表进行备份,写入sql脚本中:
登录mysql后,通过source命令可以把sql脚本的数据恢复到db中:
还可以直接备份sql查询的数据:
设置支持ip远程连接
mysql默认只能通过localhost访问,不能通过ip远程访问,主要考虑安全的问题。如果在集群分布式环境中单独部署mysql,就需要设置通过ip远程访问了
上面显示可以看到,mysql默认只支持localhost访问。
通过ip地址远程连接mysql如下:
创建账户
创建新账户和密码,只能在本地访问:
创建新账户和密码,可以通过任意或者指定IP访问:
新用户创建完成后,刷新库表赋予权限:
开启centos防火墙3306端口
centos7防火墙配置不再是iptables了,配置如下:
可以在win下测试是否通过mysql命令能够成功连接centos的mysqld服务。systemctl start firewalld.service
systemctl stop firewalld.service
systemctl enable firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service