mysql被oracle收购后,我对mysql的好感降低很多。
而且官方版本的mysql性能也...大家都懂的
所以我使用了mysql的一个分支-percona,具体介绍请参考http://www.percona.com/
之前我一直使用的是percona5.1,最近想折腾一下percona5.5
percona5.5都使用cmake编译。和之前的版本有些小的差异。
我使用的是centos。
下载percona
wget http://www.percona.com/redir/downloads/Percona-Server-5.5/Percona-Server-5.5.20-24.1/source/Percona-Server-5.5.20-rel24.1.tar.gz
安装依赖环境,添加运行用户
centos依赖
yum install cmake yum install bison yum install ncurses-devel yum install gcc-c++ yum install libxml2-devel
ubuntu 依赖
apt-get install libboost-dev libxml2-dev
添加用户(组)
groupadd mysql useradd -g mysql mysql
使用cmake编译。
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DSYSCONFDIR=/opt/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATADIR=/opt/mysql/data -DDEFAULT_COLLATION=utf8_general_ci -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=db -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3310make && make install
-DCMAKE_INSTALL_PREFIX=/opt/mysql //安装目录
-DINSTALL_DATADIR=/opt/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DWITH_SSL=system //使用SSL加密
-DWITH_EMBEDDED_SERVER=1 //编译成embedded mysql library
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
PS:DEFAULTS-EXTRA-FILE=/opt/mysql/my.cnf
权限和组
chmod +w /opt/mysql chown -R mysql:mysql /opt/mysql chown -R mysql:mysql /opt/mysql/data
初始化mysql
/opt/mysql/scripts/mysql_install_db --defaults-file=/opt/mysql/my.cnf --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql
启动mysql
cp mysql.server /etc/init.d/mysql service mysql start
创建用户并完成安装
/opt/mysql/bin/mysql -uroot create user 'test'@'%' identified by 'test'; grant all privileges on *.* to test@'%'; plush privileges;
完成安装
CREATE USER 'test'@'%' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'test'@'%';set global transaction isolation level Read Committed
set session transaction isolation level Read CommittedSELECT @@global.tx_isolation
SELECT @@tx_isolation
mysql管理常用查询
1. show character set [like 'pattern'] 显示所有可利用的字符集
2.SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern'] 用于显示所给表的列。这里感觉跟desc tbl_name的功能相同。
3.show create table tbl_name 显示创建表的sql语句。
4.show create database db_name 显示创建db_name时候的sql语句
5.show databases [like 'pattern'] 显示当前mysql上所有的数据库
6.show tables [like 'pattern'] 显示当前数据库上的所有表
7.show grants [for user] 显示对user的授权语句
8.SHOW {INDEX | INDEXES | KEYS} {FROM | IN} tbl_name [{FROM | IN} db_name] 显示索引
9.show open table 显示当前表缓冲区中的表
10.SHOW PRIVILEGES 显示mysql所支持的权限
11.SHOW [FULL] PROCESSLIST 显示正在使用的线程(thread)
12.SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern'] 显示变量
13.SHOW WARNINGS [LIMIT [offset,] row_count]
14.SHOW COUNT(*) WARNINGS 显示当前session中最后的语句生产成的错误,警告灯信息
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于