阿里云Ubuntu重装mysql稳定版,更改数据目录,解决中文乱码

解决重装时候的错误

重装的时候出现如下错误:

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 中文乱码解决方案

你可能感兴趣的:(mysql,ubuntu,阿里云)