文章分类六步来告诉大安装在centos系统mysql数据库安装与配置,具体包括:执行依赖包安装并下载及安装Mysql然后就是配置mysql到最后的初始化了,下面一起来看看吧.
一、依赖包安装,代码如下:
yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make
二、下载及安装Mysql,代码如下:
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz
1、编译安装,编译的参数可以参考如下代码:
- http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
- cmake\
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5617\
- -DMYSQL_DATADIR=/usr/local/mysql5617/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
- make&&makeinstall
三、配置Mysql
1、创建mysql用户及用户组,代码如下:
groupadd mysql
useradd -g mysql mysql
2、修改/usr/local/mysql权限,代码如下:
chown -R mysql:mysql /usr/local/mysql
3、初始化配置,代码如下:
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表,代码如下:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置,注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动.
四、启动MySQL
1、添加服务,拷贝服务脚本到init.d目录,并设置开机启动,代码如下:
cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on service mysql start --启动MySQL
2、配置用户
MySQL启动成功后,root默认没有密码,我们需要设置root密码,设置之前,我们需要先设置PATH,要不不能直接调用mysql.
3、添加环境变量,修改/etc/profile文件,在文件末尾添加:
PATH=/usr/local/mysql/bin:$PATH export PATH
4、关闭文件,运行下面的命令,让配置立即生效:
source /etc/profile
5、登录mysql终端,执行下面的命令修改root密码:
mysql -uroot mysql> SET PASSWORD = PASSWORD('123456');
6、若要设置root用户可以远程访问,执行如下代码:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
红色的password为远程访问时,root用户的密码,可以和本地不同.
五、配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口,打开/etc/sysconfig/iptables,在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT m state --state NEW m tcp p dport 3306 j ACCEPT 然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:service iptables restart
六、安装过程出现错误处理
[100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o Linking CXX executable my_safe_process [100%] Built target my_safe_process CMake Error at info_macros.cmake:90 (FILE): file Internal CMake error when trying to open file: /usr/local/src/mysql-5.6.17/Docs/INFO_BIN for writing. Call Stack (most recent call first): cmake/info_bin.cmake:29 (CREATE_INFO_BIN)
make[2]: *** [CMakeFiles/INFO_BIN] Error 1 make[1]: *** [CMakeFiles/INFO_BIN.dir/all] Error 2 make: *** [all] Error 2
安装依赖包,再重新编译,代码如下:
yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make
补充资料:
a.修改密码:./bin/mysqladmin -u root password 'new-password'或者用:./bin/mysqladmin -u root -h PE password 'new-password'
b.按照提示一步一步安装的命令:./bin/mysql_secure_installation
拷贝my-midle.cnf至/etc/my.cnf
vi my.cnf;修改 basedir 和 datadir 和
character_set_server=utf8,如果没有,则添加这三项.
character_set_server是mysql5.5以后版本设置mysqld服务器字符集的。
这三项都在mysqld 设置项里,登录进去后,设置密码和访问:
grant all on mysql.* to ‘root’@'localhost’ identified by ‘password’;