Mysql5.6在Linux下安装步骤

1、上传Mysql安装包,Mysql是二进制包,实际不用什么安装步骤,但是有有些配置需要进行手动配置,比如数据目录/data配置在哪,而且安装目录尽量不要和数据目录在一个文件夹下。

插一个题外:如果想要为Mysql数据目录新增加一块硬盘,制作LVM步骤如下:如新添加的硬盘为/dev/sdb1,

  

fdisk划分分区 ,创建 /dev/sda7 sda8 sda9 指定系统文件类型8e---linux lvm ,partprobe重置下分区表,pvcreate /dev/sda7  8,,9,pvdisplay----查看本机所有的pv

  1、 PV加入VG

  vgcreate –s 64M vg01 /dev/sda7 /dev/sda8 /dev/sda9

  不加-s 大小为默认的4m  大小:power of 2

  vgdisplay-----查看VG,可见PV数,PE数,及使用情况

  2、 VG中划分LV

  lvcreate –L 500M –n le01 /dev/vg01

  -L指定LV大小 ,-l指定LV中LE个数,-n指定LV名

  lvdisplay

  lvdisplay –m /dev/vg01/lv01 ----查看lv中所占用的pe映射关系

  3、 LV制作文件系统,挂载使用

  mkfs –t ext4 /dev/vg01/lv01

  4、在制作完文件系统后,mount /dev/vg1/lv1 /mysql

没有其它途径上传的话,可以安装Yum源中的工具,yum -y install lszrz,输入rz自动弹出资源管理器页面。点击相应包上传。

2、目前用的一般是tar.gz包,解压命令tar -zxvf mysql***.tar.gz 

3、将解压后的文件夹,mv mysql**** /usr/local/mysql

4、cd /usr/local/mysql

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

  文件添加过去后,可以添加开机自启动服务

  chkconfig -add mysqld (cp support-files/mysql.server /etc/init.d/mysqld)

5、修改/etc/my,cnf内容如下:

  [mysqld]

    basedir=/usr/local/mysql

    datadir=/mysql/data

    #  不配置数据目录的话,系统会放在/var/lib/mysql

    socket=/var/lib/mysql/.mysql.sock

    character-set-server=utf8

  [client]

    socket=/var/lib/mysql/mysql.sock

    default-character-set=utf8

姜成饶的my.cnf配置文件再单独另传

就已经可以开始用mysql_safe --user=mysql &启动守护进程来启动mysql服务了,登录可以使用/usr/local/mysql/bin/mysqladmin -uroot -p 来登录mysql数据库了

现在环境还没有写入,编辑/etc/pfofile:export PATH=/usr/local/mysql/bin:$PATH,这是永久生效。也可以在命令行中直接输入export来收收收临时更改一下

 

在mysql数据目录中,有两个文件可以在数据库挂掉的时候,用来恢复语句结构

  Mysql官网工具mysqlfrm

可以由mysql数据库表结构文件中导出创建表的语句,进行数据库数据恢复
命令:如:mysqlfrm --diagnostic /data/mysql_data/aaa/a.frm
这条命令好像只能恢复个表结构 ,不知道怎么恢复数据  

 6、Mysql安装包有INSTALL_BINARY的文件,其中有安装步骤,现帖出来如下

shell> yum search libaio  # search for info
shell> yum install libaio # install library
shell> apt-cache search libaio # search for info
shell> apt-get install libaio1 # install library
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

7、姜成饶的my.cnf

[client]
user=root
password=123
[mysqld]
########basic settings########
server-id = 11
port = 3306
user = mysql
#bind_address = 10.166.224.32
#autocommit = 0
character_set_server=utf8mb4
skip_name_resolve = 1
max_connections = 800
max_connect_errors = 1000
datadir = /data/mysql_data
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size = 134217728
tmp_table_size = 67108864
tmpdir = /tmp
max_allowed_packet = 16777216
#sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size = 16777216
read_rnd_buffer_size = 33554432
sort_buffer_size = 33554432
########log settings########
log_error = error.log
#slow_query_log = 1
#slow_query_log_file = slow.log
#log_queries_not_using_indexes = 1
#log_slow_admin_statements = 1
#log_slow_slave_statements = 1
#log_throttle_queries_not_using_indexes = 10
#expire_logs_days = 90
#long_query_time = 2
#min_examined_row_limit = 100
########replication settings########
#master_info_repository = TABLE
#relay_log_info_repository = TABLE
log_bin = bin.log
#sync_binlog = 1
#gtid_mode = on
#enforce_gtid_consistency = 1
#log_slave_updates
#binlog_format = row
#relay_log = relay.log
#relay_log_recovery = 1
#binlog_gtid_simple_recovery = 1
#slave_skip_errors = ddl_exist_errors
########innodb settings########
#innodb_page_size = 8192
#innodb_buffer_pool_size = 6G
#innodb_buffer_pool_instances = 8
#innodb_buffer_pool_load_at_startup = 1
#innodb_buffer_pool_dump_at_shutdown = 1
#innodb_lru_scan_depth = 2000
#innodb_lock_wait_timeout = 5
#innodb_io_capacity = 4000
#innodb_io_capacity_max = 8000
#innodb_flush_method = O_DIRECT
#innodb_file_format = Barracuda
#innodb_file_format_max = Barracuda
innodb_log_group_home_dir = /redolog/
innodb_undo_directory = /undolog/
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
#innodb_flush_neighbors = 1
innodb_log_file_size = 1G
innodb_log_buffer_size = 16777216
#innodb_purge_threads = 4
#innodb_large_prefix = 1
#innodb_thread_concurrency = 64
#innodb_print_all_deadlocks = 1
#innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
########semi sync replication settings########
plugin_dir=/usr/local/mysql/lib/plugin
plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
#loose_rpl_semi_sync_master_enabled = 1
#loose_rpl_semi_sync_slave_enabled = 1
#loose_rpl_semi_sync_master_timeout = 5000
[mysqld-5.7]
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
transaction_write_set_extraction=MURMUR32
show_compatibility_56=on

与参数相关的一个问题:

  innodb_log_file_size参数,在一个已经运行很长时间的Mysql数据库上进行修改后,重启Mysql数据库时,报错,

  报错:Error:log file ./ib_logfile0 is of different size 0 5242880,

  做修改之前数据是5M,系统默认的,注释掉的,没有启用,在取消注释后,启动Mysql数据库才报的上述错误。

  最终解决办法:是将data目录,即Mysql的数据 目录中的ib_logfile0,ib_logfile1删除后,再启用该参数,重启Mysql数据库,正常启动。

  为什么这里会有两个Logfile也是有参数进行控制的innodb_log_files_in_group

 

猜你喜欢

转载自www.cnblogs.com/shy-1208/p/11967708.html