最初apt-get install mysql-server安装了一次,版本为5.1,感觉不满意,于是apt-get remove卸载,下载源码编译安装之。
谁知道出现了各种各样的错误,什么language啊、*.sock啊、errmsg啊等等,反正很多啊,比较烦
google之,发现是两次装的版本不一致导致的。于是
find /var /etc | grep "mysql"
查找到N多结果,然后把mysql相关的逐个删除(需要甄别)。
然后重新安装mysql。
1.CMAKE
参数参考如下:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \
#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
#Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \
#安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \
#安装数据库分区
-DENABLED_LOCAL_INFILE=1 \
#允许从本地导入数据
-DWITH_READLINE=1 \
#快捷键功能
-DWITH_SSL=yes \
#支持 SSL
-DDEFAULT_CHARSET=utf8 \
#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \
#校验字符
-DEXTRA_CHARSETS=all \
#安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \
#MySQL 监听端口
2.make&make install
3.配置
groupadd mysql
useradd -g mysql mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
./mysql_install_db --basedir=.. --datadir=../data --user=mysql
/support-files$ sudo cp mysql.server mysqld
sudo mv mysqld /etc/init.d/mysqld
sudo chmod 755 /etc/init.d/mysqld
#在support-files目录中有五个配置信息文件(这里很重要,一定要根据自己的内存复制对应的cnf文件,否则mysql始终起不来): www.2cto.com
#my-small.cnf (内存<=64M)
#my-medium.cnf (内存 128M)
#my-large.cnf (内存 512M)
#my-huge.cnf (内存 1G-2G)
#my-innodb-heavy-4G.cnf (内存 4GB)
cd /usr/local/webserver/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf
vi /etc/my.cnf
#在mysqld字段下加入以下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
#设置软连接使mysql, mysqldump, mysqladmin这三个bin命令能在shell中直接运行
sudo ln -s /usr/local/webserver/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/webserver/mysql/bin/mysqldump /usr/bin
sudo ln -s /usr/local/webserver/mysql/bin/mysqladmin /usr/bin
#启动mysql,设置mysql用户名和密码
/etc/init.d/mysqld start
#设置root密码
mysqladmin -u root password "admin"
#mysql数据库中文乱码解决
vi /etc/my.cnf
#然后在[mysqld]配置选项下添加
character-set-server=utf8
#然后进入mysql
cd /usr/local/webserver/mysql/bin
mysql -u root -p
#提示输入密码
mysql> show variables like '%character%';
#结果:character_set_database,character_set_server两项都变为utf8了
########## END ####################