Mysql安装与配置总结
版权声明:本文为博主原创文章,未经博主允许不得转载。
Mysql安装与配置总结:
对于Mysql数据库相关信息,这里不做介绍总结,有需要的同学可查阅相关的资料。另外,本篇总结文章主题在于Mysql的安装、配置及服务操作。
· 安装
· 配置
· 操作
· 问题
一、安装
不同的系统的安装方法略有不同,这里是安装在Mac OSX下,所以可以使用homebrew来安装,对于Linux下安装方法,请参看:
http://www.cnblogs.com/quanzhiguo/p/7520651.html
$ brew install mysql
NOTE:
在线下载安装,好处就是安装的软件比较新,不好的地方就是网络慢时,下载较慢。
二、配置
1、my.cnf文件
为了避免Mysql版本升级后,覆盖my.cnf文件,建议将该文件位置移动到/etc/下,默认位置为/usr/local/Cellar/mysql/5.7.11/my.cnf,操作如下:
$ sudo mv /usr/local/Cellar/mysql/5.7.11/my.cnf /etc/
2、my.cnf配置
下面为my.cnf配置文件的优化后的配置,具体如下:
[mysqld]
port = 3306
server_id = 1
character-set-server = utf8
default-storage-engine = INNODB
socket = /tmp/mysql.sock
skip-external-locking
key_buffer = 16K
query_cache_limit = 256K
query_cache_size = 4M
max_allowed_packet = 1M
table_open_cache = 128 # 表缓存的数目,一般是 max_connections 的倍数
max_connections = 32
thread_concurrency = 2
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
default-character-set = utf8
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
三、操作
对于Mysql的服务操作,主要就是[start|stop|restart]了,为了简化操作,我们修改下/etc/profile文件,加入下面内容:
alias mysqlstart="/usr/local/opt/mysql/bin/mysql.server start"
alias mysqlstop="/usr/local/opt/mysql/bin/mysql.server stop"
alias mysqlrestart="/usr/local/opt/mysql/bin/mysql.serverrestart"
$ source /etc/profile #使profile立即生效,那么直接可以:
$ mysqlstart // 开始服务
$ mysqlstop // 停止服务
$ mysqlrestart // 重启服务
具体如下:
四、问题
1、启动Mysql服务报错
遇到问题:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2)
问题产生:
由于多次重复安装mysql(最新安装的是mysql 5.7)是mysql系统出现问题。
Mysql 5.7相比之前版本,做了些调整,所以最好解决办法就是备份原有数据库数据,重新初始化一个新实例即可。
解决办法:
$mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql/data--initialize --initialize-insecure
NOTE:
Mysql 5.7后,需要使用mysqld来初始化,而5.6及以前,则使用mysql_install_db;
--defaults-file,指定我们使用的my.cnf全局配置文件;
--datadir,指定数据安装的目录,需要保证data目录为空,并有写入权限;
--initialize-insecure,如果加上这个指令,会创建一个空密码的root@localhost账号,否则生成非空密码的root@localhost账号,而且密码保存在日志文件中(在5.6版本中是放在 ~/.mysql_secret 文件里);
PS:
由于产生上面错误的原因有很多,例如:
A、配置文件my.cnf配置出错
B、my.cnf出现多个,产生覆盖问题
具体的问题,也请查看错误日志分析跟踪即可。
2、待更新…