163.实战2.MySQL配置

发表于 linux 分类,标签:
1.在开始安装 MySQL 之前,需要安装一些MySQL依赖的库文件包。方便起见,这些依赖包我们通过 yum 方式进行安装,操作过程如下
[root@mysqlserver ~]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel

2.解压并创建 MySQL 组和用户
[root@mysqlserver~]# tar -zxvf mysql-boost-5.7.23.tar.gz -C /usr/local
[root@mysqlserver ~]# groupadd mysql
[root@mysqlserver ~]# useradd -r -g mysql -s /bin/false mysql

3.编译
[root@mysqlserver~]#cd /usr/local/mysql-5.7.23
[root@mysqlserver mysql-5.7.23]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSOL_DATADIR=/db/data \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=boost \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAG_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DWITH_EMBEDDED_SERVER=1

DCMAKE_INSTALL_PREFIX    指定 MySQL 程序的安装路径
DMYSOL_DATADIR    指定 MySQL数据文件存放位置
DSYSCONFDIR    指定 MySQL 配置文件 my.cnf存放路径
DEXTRA_CHARSETS =all    表示安装所有的扩展字符集
DDEFAULT_CHARSET=utf8    指定默认字符集为 utf8
DDEFAULT_COLLATION=utf8_general_ci    设置 ut8 默认排序规则
DWITH_INNOBASE_STORAGE_ENGINE=1    表示启用支持InnoDB引擎
DWITH_MYISAM_STORAGE_ENGINE=1    表示启用支持 MyIASM 引擎
DMYSQL_USER=mysql    指定 MySQL 进程运行的用户
DMYSQL_TCP_PORT=3306    指定 MySQL 数据库的监听端口
DWITH_BOOST=boost    指定 Boost库的路径,因为我们下载的是带有 Boost 的 MySQL 源码包,所以这里直接指定“-DWITH BOOST=boost”即可,安装程序会自动去MySOL源码安装目录下去找Boost目录
DENABLED_LOCAL_INFILE=1    表示允许从本地导入数据
DWITH_PARTITION_STORAG_ENGINE=1    表示安装支持数据库的分区
DMYSQL_UNIX_ADDR    指定连接数据库 socket 文件的路径
DWITH_EMBEDDED_SERVER=1    表示支持嵌入式服务器

make安装
[root@mysqlserver mysql-5.7.23]# make && make install

4.初始化
mkdir -p /db/data
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/db/data

--initialize-insecure:表示初始化时不生成 MySQL管理员用户 root 的密码
--initialize:表示初始化时生成一个随机密码,此密码默认会显示在 MySOL的日志文件(默认是/var/log/mysqld.log)
--user:指定初始化数据库的用户为MySQL用户,这就是上面要先创建一个MySQL用户的原因
--basedir:指定 MySQL 主程序的安装目录
--datadir:指定MySQL数据文件的安装目录,初始化前此目录下不能有数据文件

5.my.cnf配置文件
[mysqld]
datadir=/db/data
socket=/tmp/mysqld.sock

symbolic-links=0
log-error=/var/log/mysqld.log


[mysqld]
#设置mysql的安装目录
basedir = /data/mysql
#设置mysql数据库的数据存放目录
datadir = /data/mysql_data
#设置端口
port = 3306
socket = /tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error = /data/mysql_data/mysqld.log
pid-file = /data/mysql_data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

6.配置启动脚本
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start

7.重置密码
SET PASSWORD = PASSWORD('shimujiuxia');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

8.添加系统环境变量
#可选择,因为上面加了快链
vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH
export PATH

source /etc/profile


0 篇评论

发表我的评论