mysql安装

Linux下安装MySQL数据库

 

一、 下载安装包

1) wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

2) wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

 

二、 安装必要工具

1) yum install gcc

2) yum install gcc-c++

3) yum install ncurses-devel

4) yum install bison

 

三、 安装cmake

1) tar -zxv -f cmake-2.8.4.tar.gz

2) cd cmake-2.8.4

3) ./configure

4) make

5) make install

 

四、 创建mysql的安装目录及数据库存放目录

1) mkdir -p /usr/local/mysql                 //mysql安装目录

2) mkdir -p /usr/local/mysql/db_log          //日志目录

3) mkdir -p /usr/local/mysql/data           //mysql数据库存放目录

 

五、 创建mysql用户及用户组

1) groupadd mysql

2) useradd -r -g mysql mysql

 

六、 安装MySQL

1) tar -zxv -f mysql-5.6.15.tar.gz

2) cd mysql-5.6.15

3) cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

4) make

5) make install

6) **************************************************************************************

7) 参数说明:

8) -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录

9) -DINSTALL_DATADIR=/usr/local/mysql/data         //数据库存放目录

10) -DDEFAULT_CHARSET=utf8                        //使用utf8字符

11) -DDEFAULT_COLLATION=utf8_general_ci            //校验字符

12) -DEXTRA_CHARSETS=all                            //安装所有扩展字符集

13) -DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

14) **************************************************************************************

15) 注意事项:重新编译时,需要清除旧的对象文件和缓存信息。

16) make clean

17) rm -f CMakeCache.txt

18) rm -rf /etc/my.cnf

 

七、 配置

1) cd /usr/local/mysql

2) chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql

3) 或者:chown -R mysql:mysql .

4) chown -R mysql:mysql data

5) chown -R mysql:mysql db_log

6) cp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中

 

八、 配置my.cnf文件

1) vi /etc/my.cnf

2) 修改datadir=/usr/local/mysql/data

3) 设置端口port = 9966

4) 设置其他配置选择,请参考线上数据库配置或附件my.cnf

 附件my.cnf:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.


[client]
port=9966
[mysql]
default-character-set=utf8
[mysqld]
binlog_cache_size = 1M
binlog_format = mixed
character_set_server = utf8
datadir = /mysql/mysqld/data
default-storage-engine = innodb
federated = on
thread_cache_size = 64
expire_logs_days = 15
log_bin_trust_function_creators = 1
log-bin= /mysql/mysqld/data_log/mysql-bin
log-bin-index= /mysql/mysqld/data_log/mysql-bin.index
max_binlog_size  = 100M
local_infile = off
max_allowed_packet = 100M
max_connections = 2000
max_connect_errors = 5000
max_seeks_for_key = 10
max_heap_table_size = 64M
tmpdir = /mysql/mysqld/data
tmp_table_size=64M
pid-file = /mysql/mysqld/data/mysqld.pid
port = 9966

socket= /mysql/mysqld/mysql.sock
user=mysql

slow_query_log = 1
long_query_time = 4
slow_query_log_file = /mysql/mysqld/data/mysql-slow.log
transaction_isolation = READ-COMMITTED
skip_name_resolve
event_scheduler=ON
max_allowed_packet=8M
back_log=80
open_files_limit=5000


wait_timeout= 10
#skip_networking = off
join_buffer_size = 8M
query_cache_size = 100M
sort_buffer_size = 8M
sync_binlog = 16
max_write_lock_count = 10
key_buffer_size = 64M
myisam_max_sort_file_size = 10G
myisam_sort_buffer_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size= 8M
#fast_index_creation = on
#innodb_adaptive_checkpoint = 2
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 40G
innodb_data_file_path = ibdata1:256M:autoextend
innodb_data_home_dir = /mysql/mysqld/data
#innodb_doublewrite = on
innodb_file_format = Barracuda
#innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_log_buffer_size = 8M
innodb_log_files_in_group = 3
innodb_log_file_size = 512M
innodb_thread_concurrency = 24
innodb_stats_on_metadata = off
innodb_online_alter_log_max_size=2G
innodb_flush_log_at_trx_commit=1
innodb_autoextend_increment=64M
#server-id = 1
#master-host=183.134.105.104
#master-user=slave
#master-password=slave
#master-port=9966
#master-connect-retry=30
#log-slave-updates
#slave-net-timeout=60
#auto_increment_increment=2
#auto_increment_offset=1
#binlog-ignore-db=mysql

#master-password=slave
#master-port=9966
#master-connect-retry=30
#log-slave-updates
#slave-net-timeout=60
#auto_increment_increment=2
#auto_increment_offset=1
#binlog-ignore-db=mysql

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES






 

 

九、 创建系统数据库的表

1) cd /usr/local/mysql

2) scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

 

十、 设置环境变量

1) vi /root/.bash_profile

2) 修改PATH=$PATH:$HOME/bin为:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

3) source /root/.bash_profile

 

十一、 mysql的启动服务添加到系统服务中

1) cp support-files/mysql.server  /etc/init.d/mysql

 

十二、 设置软连接

1) ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock(否则会报错)

 

十三、 修改MySQL的root用户的密码以及打开远程连接

1) mysql -u root mysql

2) use mysql;

3) GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的权限

4) update user set Password = password('root') where User='root';

5) flush privileges;

6) exit

7) mysql -u root -p登录测试

8) 备注:若还不能进行远程连接,则关闭防火墙,/etc/rc.d/init.d/iptables stop

 

十四、 附创建数据库账号脚本(仅拥有远程登录和执行存储过程权限)

1) mysql -u root -p

2) create user user_link@'%';

3) use mysql;

4) update user set Password = password('HJDAK8dsd2Dcp') where user = 'user_link';

5) GRANT USAGE ON *.* TO 'user_link'@'%' WITH MAX_QUERIES_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

6) GRANT EXECUTE ON `KTV`.* TO 'user_link'@'%';

7) GRANT EXECUTE ON `LIVE`.* TO 'user_link'@'%';

8) flush privileges;

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

posted on 2017-03-07 13:18  聂政didi  阅读(159)  评论(0编辑  收藏  举报

导航