linux 下mysql安装成功后的配置

mysql5.6配置优化:

http://www.cnblogs.com/littlehb/archive/2013/04/06/3001975.html (推荐)

http://www.jb51.net/article/50918.htm

http://www.jb51.net/article/47419.htm

http://linux.cn/article-3912-1.html

 

查看mysql默认的编码格式

show variables like ‘character%’;
如果现实-bash: show: command not found 说明没有登录mysql数据库,需要进行登录
结果如下图所示:

 

修改my.cnf 文件

目录为/etc/my.cnf
如果系统中没有my.cnf文件、则需要创建此文件,具体步骤请看步骤<查找.cnf结尾的文件>,如果存在,直接跳过步骤<查找.cnf结尾的文件>,直接进入步骤<编辑my.cnf文件>

查找.cnf结尾的文件

命令find / -iname *.cnf -print
结果如图:

将上面搜索结果集中/usr/share/mysql目录下任意的一个文件复制到/etc/目录下
命令:cp /usr/share/mysql/my-large.cnf /etc/my.cnf

编辑my.cnf文件

命令:vi /etc/my,cnf
在[client ]下面加入
default-character-set=utf8
在[ mysqld ] 下面加
character_set_server=utf8
init_connect='SET NAMES utf8'(或者是SET NAMES 'utf8')
网上说在 [ mysql ] 下面加入
default-character-set=utf8
我测试了下是不可以,因为mysqld不识别它,所以我改成character_set_server=utf8

重启mysql

service mysql restart

 

基本原理

mysql安装成功之后,默认的是没有开启远程访问的权限,只有本地才可以进行访问
mysql默认的相关配置实际上是在mysql数据库中mysql用户中的user表中,只需要修改此表中相关记录即可实现

#mysql
具体查看方式可以参考下图所示:

 

添加新用户进行授权

1
2
#grant all privileges on *.* to 创建的用户名@' %' identified by ' 密码' ;
#flush privileges; #刷新刚才的内容

#格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;
#@后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端
#如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。
如下例所示增加shop用户并且开启远程访问权限

1
grant all privileges on *.* to shop@' %' identified by ' admin' ;

为现有的用户设置远程访问权限

1
2
3
#use mysql;
#update db set host = ' %' where user = ' 用户名' ;
#FLUSH PRIVILEGES;

#如果写成 host=localhost 那此用户就不具有远程访问权限

查看修改后的结果

1
2
#use mysql; //指定使用某个数据库
#select host,user,password from user;

在服务器本地设置所有ip远程可以访问后,本地登陆mysql:

mysql -u用户名 -p密码

如:mysql  -uroot  -padmin 就可以登陆了。

 让mysql表名不区分大小写

Linux下的mysql表名默认是区分大小写的,如果开发当中不注意的话,可能会提示找不到对应的表。
怎么样让mysql默认不区分大小写了,其实配置很简单,具体的方法如下:
1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
3.重新数据库即可,命令:service mysql restart

猜你喜欢

转载自yjph83.iteye.com/blog/2098271