mysql的安装

来源:互联网 发布:大数据世界txt 编辑:程序博客网 时间:2024/05/16 08:24

mysql的安装

数据库版本:mysql-5.6.32

1 配置安装数据库所需的磁盘

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

mkdir -p /vdncloud/mysql
mkdir -p /vdncloud/mysql/data

3 创建用户组和用户

groupadd mysql
useradd -r -g mysql mysql

4 解压mysql的源码包

tar -zxv -f mysql-5.6.32.tar.gz
cd mysql-5.6.32

5 执行cmake

[root@wz mysql-5.6.32]# cmake \
-DCMAKE_INSTALL_PREFIX=/vdncloud/mysql \
-DMYSQL_DATADIR=/vdncloud/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1

6 编译

make && make install

7 设置目录权限 加系统服务

cd /vdncloud/mysql
chown -R root:mysql .
chown -R mysql:mysql data
cp support-files/mysql.server /etc/init.d/mysql

8 建立系统数据库表

cd /vdncloud/mysql
scripts/mysql_install_db –user=mysql

9 设置环境变量

vim /root/.bash_profile
在PATH=PATH:HOME/bin添加参数为:
PATH=PATH:HOME/bin:/vdncloud/mysql/bin:/vdncloud/mysql/lib
重载环境变量
source /root/.bash_profile

将my.cnf修改好放入/etc/下, 具体配置在文档末尾.

10 建立系统数据库表

cd /vdncloud/mysql
scripts/mysql_install_db –user=mysql

11 以安全模式启动数据库

cd /vdncloud/mysql
./bin/mysqld_safe –user=mysql &

12 停止数据库(安全模式)

mysqladmin -u root -p shutdown

13 启动数据库

/etc/init.d/mysql start

14 停止数据库

/etc/init.d/mysql stop

15 登录数据库:

mysql -uroot -P65000

修改密码:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘*);

重新登录:
mysql -uroot -p*** -P65000

创建新用户:
grant all on . to ‘‘@’localhost’ identified by ‘‘;

flush privileges;

查看授权
select host, user from mysql.user;

数据库配置文件my.cfg

[mysqld]skip_name_resolvedatadir=/vdncloud/mysql/datasocket=/tmp/mysql.socksymbolic-links=0port = 65000lower_case_table_names=1max_connections = 1024max_user_connections=1000max_connect_errors=10000#设定InnoDB缓存表数据和索引的内存缓冲区大小innodb_buffer_pool_size=40G#默认值为 48M. 有很高写入吞吐量innodb_log_file_size=4G#InnoDB 存储引擎的事务日志所使用的缓冲区innodb_log_buffer_size = 32M#参数对于InnoDB存储引擎写入操作的性能innodb_flush_log_at_trx_commit=2#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间innodb_file_per_table=1#限制Innodb能打开的表的数据 linux只会等于4innodb_file_io_threads=4innodb_read_io_threads = 14     # 默认值:4innodb_write_io_threads = 10    # 默认值:4#如果使用硬件RAID磁盘控制器, 需要设置为 O_DIRECTinnodb_flush_method=O_DIRECT#设置会影响InnoDB每秒在后台执行多少操作innodb_io_capacity=2000innodb_io_capacity_max=6000#这个参数必须要和innodb_io_capacity设置一样innodb_lru_scan_depth=2000#限制了一次有多少线程能进入内核,0表示不限制进入内核的数量innodb_thread_concurrency = 0#除了缓存表数据和索引外,可以为操作所需的其他内部项分配缓存来提升InnoDB的性能,这些内存就可以通过此参数来分配innodb_additional_mem_pool_size=16M#修改为基于行的复制innodb_autoinc_lock_mode = 2#事物提交次数sync_binlog = 1000#mysql数据库事务隔离级别有四种(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SERIALIZABLE)transaction-isolation=READ-COMMITTED#cache#内部内存临时表的最大值tmp_table_size=512Mcharacter-set-server=utf8collation-server=utf8_general_ci#即跳过外部锁定skip-external-locking#MySQL能暂存的连接数量(根据实际设置)back_log=1024#指定索引缓冲区的大小,只对MyISAM表起作用,这里写上也没有关系key_buffer_size=64Mbulk_insert_buffer_size = 64M # 默认值:8M#这条指令限定用于每个数据库线程的栈大小thread_stack=256k#当一个查询不断地扫描某一个表,MySQL会为它分配一段内存缓冲区read_buffer_size=512K#线程缓存thread_cache_size=64#查询缓存大小query_cache_size=128M#内部内存临时表的最大值,每个线程都要分配max_heap_table_size=256M#将查询结果放入查询缓存中query_cache_type=0#代表在事务过程中容纳二进制日志SQL语句的缓存大小binlog_cache_size = 2M#同样是缓存表大小table_open_cache=2000#表和表联接的缓冲区的大小join_buffer_size = 512K#是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存sort_buffer_size=512K#随机读取数据缓冲区使用内存read_rnd_buffer_size = 512K#开启查询缓存explicit_defaults_for_timestamp=true#mysql服务器能够工作在不同的模式下,并能针对不同的客户端以不同的方式应用这些模式#sql_mode=sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION###############  Log############### Binary log/Replicationlog-bin = mysql-bin           # 默认值:OFFbinlog_format = ROW           # 默认值:MIXEDmax_binlog_size = 256M        # 默认值:100Mbinlog_cache_size = 4M        # 默认值:32k# max_binlog_cache_size = 8M    # 默认值:挺大expire_logs_days = 7          # 默认值:0# Slow log  slow_query_log = ON    # 默认值:OFF(调试时打开)long_query_time = 3    # 默认值:10slow_query_log_file=/vdncloud/mysql/data/mysql_slow.log # 默认值:/var/lib/mysql/hostname-slow.log[client]socket=/tmp/mysql.sock[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/vdncloud/mysql/data/mu-gb-1.pid