码迷,mamicode.com
首页 > 数据库 > 详细

源码安装mysql数据库

时间:2016-01-12 19:46:25      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:数据库   mysql   local   

源码安装mysql数据库




从mysql 5.5版本开始,mysql源码安装开始使用cmake了

百度云盘:http://pan.baidu.com/s/1bnL31c7

下载cmake                   https://cmake.org/files/  

下载ncurses                    http://ftp.gnu.org/gnu/ncurses/

下载bison         http://ftp.gnu.org/gnu/bison/

[root@localhost soft]# groupadd mysql                 添加mysql标准组

[root@localhost soft]# useradd -g mysql mysql         添加mysql用户并加到mysql组中

[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz  

[root@localhost mysql-5.5.45]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/data> -DSYSCONFDIR=/etc> DDEFAULT_CHARSET=utf8> --DDEFAULT_COLLATION=utf8_general_ci> -DMYSQL_USER=mysql

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql          \    #安装路径

# -DMYSQL_DATADIR=/usr/local/mysql/data            \    #数据文件存放位置

# -DSYSCONFDIR=/etc                                \    #my.cnf路径

# -DWITH_MYISAM_STORAGE_ENGINE=1                   \    #支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1                 \    #支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1                   \    #支持Memory引擎

# -DWITH_READLINE=1                                \    #快捷键功能(我没用过)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock               \    #连接数据库socket路径

# -DMYSQL_TCP_PORT=3306                            \    #端口

# -DENABLED_LOCAL_INFILE=1                         \    #允许从本地导入数据

# -DWITH_PARTITION_STORAGE_ENGINE=1                \    #安装支持数据库分区

# -DEXTRA_CHARSETS=all                             \    #安装所有的字符集

# -DDEFAULT_CHARSET=utf8                           \    #默认字符

# -DDEFAULT_COLLATION=utf8_general_ci              \    #校验字符


[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci



添加用户

[root@end mysql]# groupadd mysql[root@end mysql]# useradd -r -g mysql mysql

修改目录所有者和所有组

[root@end mysql]# chown -R mysql:mysql .


初始化数据库

[root@end mysql]# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/


复制mysql服务启动配置文件(注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf


注册为服务

[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld


让chkconfig管理mysql服务

[root@end mysql]# chkconfig --add mysqld[root@end mysql]# chkconfig mysqld on


设置环境变量

在文件/etc/profile末尾添加PATH=/usr/local/mysql/bin:$PATH立即生效[root@end mysql]# source /etc/profile


启动mysql服务

[root@end mysql]# service mysqld startStarting MySQL...                                          [确定]


检查mysql服务是否启动

[root@end mysql]# netstat -tulnp |grep 3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      24351/mysqld

[root@end LAMP-php]# ps -ef |grep mysql root     24081     1  0 Dec28 pts/2    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/end.pid mysql    24351 24081  0 Dec28 pts/2    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/end.err --pid-file=/usr/local/mysql/data/end.pid --socket=/var/lib/mysql/mysql.sock --port=3306 root     26770  5816  0 00:01 pts/2    00:00:00 grep mysql


修改mysql用户root密码

[root@end mysql]# mysql -uroot  登录到mysql,首次登陆无密码 mysql> SET PASSWORD = PASSWORD(‘endmoon‘);   设置mysql密码Query OK, 0 rows affected (0.00 sec)


用设置的密码登录

[root@end mysql]# mysql -u root -pEnter password: endmoon


若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘192.168.1.20‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;Query OK, 0 rows affected (0.00 sec)


配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

[root@end mysql]# service iptables restart    使更改的防火墙配置生效 iptables:将链设置为政策 ACCEPT:filter                    [确定] iptables:清除防火墙规则:                                 [确定] iptables:正在卸载模块:                                   [确定] iptables:应用防火墙规则:                                 [确定]


那么mysql数据库的安装到这里就结束了


本文出自 “岁寒,然后知松柏之后凋也” 博客,请务必保留此出处http://endmoon.blog.51cto.com/10533729/1734263

源码安装mysql数据库

标签:数据库   mysql   local   

原文地址:http://endmoon.blog.51cto.com/10533729/1734263

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!