Home >Database >Mysql Tutorial >Linux安装mysql源码安装

Linux安装mysql源码安装

WBOY
WBOYOriginal
2016-06-07 15:46:381029browse

1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 local] # tar -zxv -f cmake-2.8.4.tar.gz [root@ rhel5 local] # cd cmake-2.8.4 [root@ rhel5 cmake-2.8.4] # ./confi

1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件

(1)先安装cmake(mysql5.5以后是通过cmake来编译的)

[root@ rhel5 local]<span>#</span><span>tar -zxv -f cmake-2.8.4.tar.gz</span>[root@ rhel5 local]<span>#</span><span>cd cmake-2.8.4</span>[root@ rhel5 cmake-2.8.4]<span>#</span><span>./configure</span>[root@ rhel5 cmake-2.8.4]<span>#</span><span>make</span>[root@ rhel5 cmake-2.8.4]<span>#</span><span>make install</span>


(2)创建mysql的安装目录及数据库存放目录

[root@ rhel5~]<span>#</span><span>mkdir -p /usr/local/mysql                 //安装mysql </span>[root@ rhel5~]<span>#</span><span>mkdir -p /usr/local/mysql/data            //存放数据库</span>

(3)创建mysql用户及用户组

[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd -r -g mysql mysql

(4)安装mysql

Linux安装mysql源码安装

[root@ rhel5 local]<span>#</span><span>tar -zxv -f mysql-5.5.10.tar.gz</span>[root@ rhel5 local]<span>#</span><span>cd mysql-5.5.10</span>[root@ rhel5 mysql-5.5.10]<span>#</span><span>cmake . </span>-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci 
-DEXTRA_CHARSETS=all 
-DENABLED_LOCAL_INFILE=1
[root@ rhel5 mysql-5.5.10]<span>#</span><span>make</span>[root@ rhel5 mysql-5.5.10]<span>#</span><span>make install</span>

Linux安装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 clean

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf

2.配置

(1)设置目录权限

[root@ rhel5~]<span>#</span><span> cd /usr/local/mysql</span>
[root@ rhel5 mysql]<span>#</span><span> chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql</span>
[root@ rhel5 mysql]<span>#</span><span> chown -R mysql:mysql data</span>

(2)

[root@ rhel5 mysql]<span>#</span><span> cp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中</span>



(3)创建系统数据库的表

[root@ rhel5 mysql]<span>#</span><span> cd /usr/local/mysql</span>[root@ rhel5 mysql]<span>#</span><span> scripts/mysql_install_db --user=mysql</span>

(4)设置环境变量

Linux安装mysql源码安装

[root@ rhel5~]<span>#</span><span> vi /root/.bash_profile</span>
在PATH=<span>$PATH</span>:<span>$HOME</span>/bin添加参数为:

PATH=<span>$PATH</span>:<span>$HOME</span>/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

[root@ rhel5~]<span>#</span><span>source /root/.bash_profile</span>

Linux安装mysql源码安装

(5)手动启动mysql

Linux安装mysql源码安装

[root@ rhel5~]<span>#</span><span> cd /usr/local/mysql</span>
[root@ rhel5 mysql]<span>#</span><span> ./bin/mysqld_safe --user=mysql &   //启动MySQL,但不能停止</span>
启动日志写在此文件下:/usr/local/mysql/data/localhost.err

关闭MySQL服务

[root@ rhel5 mysql]<span>#</span><span> mysqladmin -u root -p shutdown  //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。</span>

Linux安装mysql源码安装

(6)另一种简单的启动mysql的方法(mysql已经被添加到系统服务中)

[root@ rhel5~]<span>#</span><span> service mysql.server start  </span>[root@ rhel5~]<span>#</span><span> service mysql.server stop</span>[root@ rhel5~]<span>#</span><span> service mysql.server restart</span>

如果上述命令出现:mysql.server 未识别的服务

则可能mysql还没添加到系统服务中,下面用另一种方法添加:

[root@ rhel5 mysql]# cp support-files/mysql.server  /etc/init.d/mysql <span>//</span><span>将mysql的启动服务添加到系统服务中</span>

注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。

然后再用#service mysql start 来启动mysql即可。


(7)修改MySQL的root用户的密码以及打开远程连接

Linux安装mysql源码安装

[root@ rhel5~]<span>#</span><span> mysql -u root mysql</span>
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@<span>"</span><span>%</span><span>"</span> IDENTIFIED BY <span>"</span><span>root</span><span>"</span>;  //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password  from user where User='root'; 
mysql>flush privileges;
mysql>exit

重新登录:mysql -u root -p

若还不能进行远程连接,则关闭防火墙
[root@ rhel5~]<span>#</span><span> /etc/rc.d/init.d/iptables stop</span>

Linux安装mysql源码安装

注:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn