Linux下MySQL源码包手动安装、配置以及测试(亲测可行)(一)

2015-07-16 12:07:14 · 作者: · 浏览: 4

现在开始写MySQL的源码安装以及配置:


1、安装mysql依赖:


yum install cmake
yum install ncurses-devel


2、下载MySQL的源码安装包并解压:
mysql下载地址:? http://distfiles.macports.org/mysql5/


tar -zxvf? mysql-5.5.21.tar.gz


3、创建mysql的安装目录及数据库存放目录


mkdir -p /work/installed/mysql? 安装目录? ? ? ? ? ? ?


mkdir -p /work/installed/mysql/data? 数据库存放目录


4、创建mysql用户及用户组


groupadd mysql
useradd -r -g mysql mysql


5、安装MySQL:


进入解压包文件夹内执行:


cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data? -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1


cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data? -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1


其中:/work/installed/mysql为MySQL的安装目录,这个可以自定义,自己喜欢装哪就装到哪里。


参数说明:


-DCMAKE_INSTALL_PREFIX=/usr/local/mysql? ? ? ? //安装目录


-DINSTALL_DATADIR=/usr/local/mysql/data? ? ? ? //数据库存放目录


-DDEFAULT_CHARSET=utf8? ? ? ? ? ? ? ? ? ?     //使用utf8字符


-DDEFAULT_COLLATION=utf8_general_ci? ? ? ? ? ? //校验字符


-DEXTRA_CHARSETS=all? ? ? ? ? ? ? ? ? ? ? ?     //安装所有扩展字符集


-DENABLED_LOCAL_INFILE=1? ? ? ? ? ? ? ? ? ?   ? //允许从本地导入数据


下面依次执行:


make


make install


如果出现错误:


错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file


错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file


是字符集和字符冲突了,所以编译的时候要把字符和字符集选项都加上,并且要兼容!修改编译参数:


那么执行此条命令:


cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system


cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system


注意,如果重新编译或者编译出错了:


注意事项:


重新编译时,需要清除旧的对象文件和缓存信息。


# make clean


# rm -f CMakeCache.txt


# rm -rf /etc/my.cnf


然后再:make , make install即可。


6、设置目录权限


在安装好的mysql目录下执行命令:


?chown -R root:mysql . ? //把当前目录中所有文件的所有者所有者设为root,所属组为mysql


?chown -R mysql:mysql data
7、将mysql的启动服务添加到系统服务中


cp support-files/my-medium.cnf /etc/my.cnf 
8、创建系统数据库的表


scripts/mysql_install_db --user=mysql


9、设置环境变量


# vi /root/.bash_profile


在PATH=$PATH:$HOME/bin添加参数为:


PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib


# source /root/.bash_profile



10、启动mysql


法1:
在mysql安装好的目录下执行来启动MySQL:?
./bin/mysqld_safe --user=mysql &  


启动日志写在此文件下:/work/installed/mysql/data/localhost.err? 目录个人而异,自己的安装目录


法2:
cp support-files/mysql.server? /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
# service mysql.server start


# service mysql.server stop


# service mysql.server restart


另外关闭MySQL服务的命令是:


mysqladmin -u root -p shutdown  


11、修改MySQL的root用户的密码以及打开远程连接


# mysql -u root mysql


mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';? //这里的XXXX为自己输入的MySQL密码,root用户
mysql>select Host,User,Password? from user where User='root';
mysql