Linux系统:CentOS-6.5_x64 依赖包:yum install gcc gcc-c++ ncurses-devel perl cmake
groupadd mysql useradd -r -g mysql mysql passwd mysql
使用mysql用户登陆mysql
mkdir -p /home/mysql/dbmysql
mkdir -p /home/mysql/data
tar -zxvf mysql-5.6.27.tar.gz cd mysql-5.6.27
cmake \ -DCMAKE_INSTALL_PREFIX=/home/mysql/dbmysql \ -DMYSQL_UNIX_ADDR=/home/mysql/dbmysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/home/mysql/data/ \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=0
参数 | 注释 |
---|---|
-DCMAKE_INSTALL_PREFIX=dir_name | 设置mysql安装目录 |
-DMYSQL_UNIX_ADDR=file_name | 设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock |
-DDEFAULT_CHARSET=charset_name | 设置服务器的字符集。缺省状况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含容许的字符集名称列表。 |
-DDEFAULT_COLLATION=collation_name | 设置服务器的排序规则。 |
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 | 存储引擎选项:MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不须要明确地安装。静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema) |
-DMYSQL_DATADIR=dir_name | 设置mysql数据库文件目录 |
-DMYSQL_TCP_PORT=port_num | 设置mysql服务器监听端口,默认为3306 |
-DENABLE_DOWNLOADS=bool | 是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。 |
注:从新运行配置,须要删除CMakeCache.txt文件linux
rm CMakeCache.txt
make
make install
cd /home/mysql/dbmysql scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data/
sudo cp /home/mysql/dbmysql/support-files/my-default.cnf /etc/my.cnf
注:c++
vim /etc/sudoers 添加 mysql ALL=(ALL) ALL
sudo cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/profile export PATH=/home/mysql/dbmysql/bin:/home/mysql/dbmysql/lib:$PATH
source /etc/profile
service mysqld start sudo chkconfig mysqld on
netstat -tulnp | grep 3306 mysql -u root -p
说明:密码为空,若是能登录上,则安装成功sql
mysql> set password=password('123456');
mysql> use mysql mysql> desc user; mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; mysql> update user set Password = password('123456') where User='root'; mysql> select Host,User,Password from user where User='root'; mysql> flush privileges; mysql> exit
vim /etc/my.cnf [client] password = 123456 port = 3306 socket = /home/mysql/dbmysql/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /home/mysql/dbmysql/mysql.sock character_set_server=utf8 character_set_client=utf8 collation-server=utf8_general_ci #(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写) lower_case_table_names=1 #(设置最大链接数,默认为 151,MySQL服务器容许的最大链接数16384; ) max_connections=1000 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-character-set = utf8