环境准备:
mysql5.5以后./configure编译方式就改为cmake工具来编译。
安装依赖包: yum install -y cmake gcc gcc-c++ make cmake ncurses ncurses-devel
创建mysql用户和组:
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
1.安装mysql
下载:http://dev.mysql.com/downloads/mysql
1
2
3
4
5
6
|
tar zxvf mysql-5.6.14. tar .gz
cd mysql-5.6.14
cmake -DCMAKE_INSTALL_PREFIX= /usr/local/mysql5 .6 \
-DSYSCONFDIR= /usr/local/mysql/etc \
-DMYSQL_DATADIR= /usr/local/mysql5 .6 /data
make && make install
|
如果依赖包没有安装,编译配置会报错缺少什么库,安装相关包即可,再删除CMakeCache.txt!
2.初始化数据库和配置
1
2
3
4
5
6
7
8
9
10
11
12
|
/usr/local/mysql5 .6 /scripts/mysql_install_db \
--basedir= /usr/local/mysql5 .6 --datadir= /usr/local/mysql5 .6 /data \
--user=mysql& #初始化数据库
mkdir -p /usr/local/mysql5 .6 /etc
cp support-files /my-medium .cnf /usr/local/mysql/etc/my .cnf
cp support-files /mysql .server /etc/rc .d /init .d /mysqld
chmod +x /etc/init .d /mysqld
chown -R root.mysql /usr/local/mysql/ #赋予mysql属组权限
chown -R mysql.mysql /usr/local/mysql/data #赋予数据存放目录权限
/usr/local/mysql5 .6 /bin/mysqld_safe –user=mysql& #安全启动mysql
echo ‘PATH=$PATH: /usr/local/mysql/bin ' >> /etc/profile #设置变量,方便使用mysql命令
source /etc/profile
|
3.设置mysql默认创建数据库编码
1
2
3
4
5
6
7
|
vi /usr/local/mysql/etc/my .cnf
在[mysqld]下添加 default-character- set =utf8
或者 default-character- set =gbk #防止网站出现乱码
在[client]下添加 default-character- set =utf8
或者 default-character- set =gbk
|
4.测试是否安装成功
service mysqld start
如果启动报错:
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/202.pid)
解决:rm -rf /etc/my.cnf #删除自带的配置文件
1
2
3
4
5
6
7
8
9
10
11
|
mysqladmin -uroot password '123.com' #设置初次登陆mysql密码
mysql -u root -p123456 mysql> show databases; +——————–+ | Database | +——————–+ | information_schema | | mysql | | test | +——————–+ 6rows inset( 0 .00sec)
|
5.常用编译参数
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-DCMAKE_INSTALL_PREFIX= /usr/local/mysql #安装路径
-DMYSQL_DATADIR= /usr/local/mysql/data #数据文件存放位置
-DSYSCONFDIR= /usr/local/mysql/etc #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 #支持MEMORY引擎
-DMYSQL_UNIX_ADDR= /tmp/mysqld .sock #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 #默认端口
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk #安装需要的字符集
-DDEFAULT_CHARSET=utf8 #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci #设置默认效验字符集排序规则,要和DDEFAULT_CHARSET一起用
-DMYSQL_USER=mysql #运行用户
-DWITH_COMMENT=’string’ #注释存储类型
|
6、MySQL字符集介绍及修改(编码)
常用字符集:atin英文,big5繁体中文,GB2312中文,UTF8通用语言
Mysql对于字符集的支持细化到四个层次:
服务器(server);
数据库(database);
数据表(table)(字段column);
连接(connection);
方法1:主配置文件修改my.cnf
[mysqld]
character_set_server=utf8
[mysql]
default-character-set=utf8
重启mysql!
方法2:Mysql命令修改(网站乱码如下解决)
1.查看数据库使用的字符集:
1
2
3
|
mysql> show variables like 'character\_set\_%' ;
mysql> show variables like 'char%' ;
mysql> show create table tablename; #查看创建表时字符集
|
2.修改默认字符集
2.1修改服务器默认字符集
set character_set_server=utf8
2.2修改数据库字符集
set character_set_database=utf8;
2.3修改数据库客户端字符集
set character_set_client=utf8;
2.4修改连接默认字符集
set character_set_connection=utf8
3.修改已经存在库的字符集
3.1修改存在数据库的字符集
alter database mydb character set utf-8;
3.2修改存在表的字符集
alter table mytable default character set utf8
3.3修改存在表字段字符集
alter table mytable change old_column new_column varchar(255) character set utf8;