转载一篇实用mysql 5.6.x 部署一部分内容,配置自己写了一些上去,希望对大家有用
一、下载所需软件
linux用 wget 下载需要的软件,保存到目录 /usr/local/src 下
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz
mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。
注意:此安装是默认centos下已经安装了最新工具包,比如GNU make, GCC, Perl, ncurses(其它版本linux安装libncurses5-dev),如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。
以下安装中涉及的几点需要提前说明的问题:
1. 所有下载的文件将保存在 /usr/local/src/ 目录下
2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行
3. mysql 将被安装在 /usr/local/mysql/ 目录下
4. mysql 默认安装使用 utf8 字符集
5. mysql 的数据和日志文件保存在 /usr/local/mysql/ 对应目录下
6. mysql 的配置文件保存于/etc//my.cnf
一条语句: yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make vim bison 拆分成: yum -y install vim yum -y install gcc yum -y install gcc-c++ yum -y install gcc-g77 yum -y install autoconf yum -y install automake yum -y install zlib* yum -y install fiex* yum -y install libxml* yum -y install libmcrypt* yum -y install libtool-ltdl-devel* yum -y install make yum -y install bison yum -y install ncurses-devel
二. 编译安装 cmake
cd /usr/local/src tar zxvf cmake-2.8.7.tar.gz cd cmake-2.8.7 ./bootstrap gmake gmake install cd ../
三. 编译安装 MySQL 5.6.11
创建mysql用户及mysql组
#/usr/sbin/groupadd mysql #/usr/sbin/useradd �Cr -g mysql mysql #cd /install #tar xvf mysql-5.6.11.tar.gz #cd mysql-5.6.11/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql -DMYSQL_TCP_PORT=3306
----------------------------------------------------------------------------------------------------------------
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql -DMYSQL_TCP_PORT=3306
------------------------------------------------------------------------------------------------------------------ IT网.cn,http://www.it.net.cn
make make install ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18(暂不执行) [root@demo mysql-5.6.10]# mkdir -p /usr/local/mysql/data [root@demo mysql-5.6.10]# chown -R mysql:mysql /usr/local/mysql/data [root@demo mysql-5.6.10]# mkdir -p /var/mysql/log/ [root@demo mysql-5.6.10]# chown -R mysql:mysql /var/mysql/log/ chmod +w /usr/local/mysql chown -R mysql:mysql /usr/local/mysql [root@demo mysql-5.6.10]# [root@demo data]# chown �CR mysql:mysql /usr/local/mysql/data/mysql-bin.index(暂不执行) #cd /usr/loca/mysql/support-files/ #cp my-default.cnf /etc/my.cnf #cp mysql.server /etc/init.d/mysqld
四. 配置启动MySQL 5.6.10
1. 若有需要请先修改 mysql 的配置文件的参数 my.cnf IT网,http://www.it.net.cn
vi /etc/my.cnf
[mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /usr/local/mysql/data/mysql.sock pid-file = /usr/local/mysql/data/mysqld.pid interactive_timeout=28800000 wait_timeout=28800000 long_query_time=1 slow_query_log=1 log_queries_not_using_indexes=1 slow_query_log_file==/var/log/mysql/log-slow-queries.log init-connect='SET NAMES utf8' character-set-server = utf8 [client] socket = /usr/local/mysql/data/mysql.sock
[client]用户告诉客户端工具mysql连接数据库服务器使用的port和socket文件的路径
[mysql]用于设置客户端工具的显示信息,如在my.cnf中设置
[mysql] prompt="\\u@\\h:\\d \\r:\\m:\\s>" 这样使用mysql -uroot -p连接到mysql服务器时,就会显示: root@localhost:(none) 03:01:10>
具体参数如下:
Option Description
\c A counter that increments for each statement you issue \D The full current date \d The default database \h The server host \l The current delimiter (new in 5.1.12) \m Minutes of the current time \n A newline character \O The current month in three-letter format (Jan, Feb, …) \o The current month in numeric format \P am/pm \p The current TCP/IP port or socket file \R The current time, in 24-hour military time (0�C23) \r The current time, standard 12-hour time (1�C12) \S Semicolon \s Seconds of the current time \t A tab character \U Your full user_name@host_name account name \u Your user name \v The server version \w The current day of the week in three-letter format (Mon, Tue, …) \Y The current year, four digits \y The current year, two digits \_ A space \ A space (a space follows the backslash) \' Single quote \" Double quote \\ A literal “\” backslash character \x x, for any “x” not listed above
2.my.cnf mysql 初始化安装
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3. 将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:) basedir=/usr/local/mysql datadir=/usr/local/mysql/data
添加mysqld服务
#chkconfig --add mysqld #chkconfig --level 2345 mysqld on
4. 启动 mysql服务
service mysqld start
------------------------------------------------------------------------------------------------------------------
启动 mysql 服务的时候报如下错误:
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
解决方法:
mysql_install_db --user=mysql 重新初始化数据库即可
--------------------------------------------------------------------------------------------------------------------
5. 设置root帐号密码
[root@demo ~]# /usr/local/mysql/bin/mysqladmin -uroot password root** [root@demo ~]# /usr/local/mysql/bin/mysql -uroot -p