解决重装时候的错误
重装的时候出现如下错误:
dpkg: error processing mysql-server (--configure)
发现时没有彻底删除,解决方法:
- 删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
- 然后删除mysql
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
安装mysql
增加mysql仓库
- 到mysql下载apt稳定版本,http://dev.mysql.com/downloads/repo/apt/
- 安装仓库
sudo dpkg -i mysql-apt-config_w.x.y-zubuntu12.04_all.deb
- 更新apt仓库
sudo apt-get update
安装mysql
- 安装命令:
sudo apt-get install mysql-server
- 启动和关闭mysql
查看状态:sudo service mysql status
停止服务:sudo service mysql stop
启动服务:sudo service mysql start
更改数据库目录
- 停止数据库服务
sudo service mysql stop
- 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:
cd /data
mkdir mysqldb
cp -r /var/lib/mysql /data/mysqldb/
- 修改my.cnf文件
将datadir = /var/lib/mysql 改为 datadir = /data/mysqldb/mysql
另外由于当前my.cnf 中的socket = /var/run/mysqld/mysqld.sock(而并非像网上所说的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock 链接:
ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要从/home/data/mysql下复制一份过来)
- 修改数据库的权限
chown -R mysql:mysql /data/mysqldb/mysql/ ← 改变数据库文件目录的归属为mysql
- 修改文件usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/data/mysqldb/mysql/ r,
/data/mysqldb/mysql/** rwk,
注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。
- 启动mysql服务器
解决中文乱码
- 找到/etc/my.cnf文件
- 5.1版本设置
[client]和[mysqld]中加入default-character-set= utf8
- 5.5以上版本设置
[client]中加入default-character-set= utf8
[mysqld]中加入character-set-server=utf8
如果5.5以上版本设置成5.1的设置,则在启动MySQL服务时会有1067错误。
- 查看编码
showvariables like 'character%';
+-----------------------------------+------------------------------------+
|Variable_name | Value |
+-----------------------------------+------------------------------------+
|character_set_client | utf8 |
|character_set_connection | utf8 |
|character_set_database | utf8 |
|character_set_filesystem | binary |
|character_set_results | utf8 |
|character_set_server | utf8 |
|character_set_system | utf8 |
|character_sets_dir | /usr/share/mysql/charsets/ |
+----------------------------------+-------------------------------------+
参考
Ubuntu下更改MySQL数据库文件的目录
dpkg: error processing mysql-server (–configure)
A Quick Guide to Using the MySQL APT Repository
Ubuntu 13.04 mysql 5.5 中文乱码解决方案