编译安装MySQL前的准备工作
安装编译源码所需的工具和库
【纯净CentOS 6.6 i386】
1
yum install gcc gcc-c++ ncurses-devel perl wget readline-devel zlib-devel openssl-dev cmake
【CMAKE】
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt
2、编译安装mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# tar xf mysql-5.5.33.tar.gz
# cd mysql-5.5.33
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/data/ \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWIYH_READLINE=1 \
-DWIYH_SSL=system \
-DVITH_ZLIB=system \
-DWITH_LOBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
# groupadd -r -g 306 mysql
# useradd -g mysql -u 306 -r -s /sbin/nologin mysql
初始化mysql
# cd /usr/local/mysql/
[iyunv@localhost mysql]# mkdir -pv /mydata/data
[iyunv@localhost mysql]# chown :mysql -R ./*
[iyunv@localhost mysql]# chown -R mysql.mysql /mydata/data/
[iyunv@localhost mysql]# ll /mydata/data/ -d
[iyunv@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
[iyunv@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[iyunv@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
[iyunv@localhost mysql]# chkconfig --add mysqld
[iyunv@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
[iyunv@localhost mysql]# vim /etc/my.cnf +40
datadir= /mydata/data 数据目录
thread_concurrency = 4 设置线程数(核心数x2)
插入保存。
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[iyunv@localhost ~]# service mysqld restart
[iyunv@localhost mysql]# netstat -tnlp
初始化mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
打开新的shell,启用mysql
[iyunv@localhost ~]# mysql
mysql> use mysql;
mysql> SELECT user,host,password FROM user;
1、删除匿名用户
mysql> DROP USER ''@'localhost.localdomain';
mysql> DROP USER ''@'localhost ';
2、给所有的root用户设定密码:
第一种方式:
mysql> SET PASSWORD FOR username@host = PASSWORD('your_passwrod');
第二种方式:
mysql> UPDATE user SET password = PASSWORD('your_password') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
第三种方式:
# mysqladmin -uUserName -hHost password 'new_password' -p
# mysqladmin -uUserName -hHost -p flush-privileges
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com