Linux下通过二进制源码安装Mysql5.7(5.7安装和命令
2018-01-16 本文已影响0人
程序员学园
这里我选择官网下载源码包编译安装
参照一:linux在配置的时候大家是如何去选择用编译安装还是yum安装
参照二:linux下mysql安装
一、准备工作:
二、踏坑总结:
2.1关于初始化:
mysql5.7和之前版本不同,很多资料上都是这个命令:../scripts/mysql_install_db --user=mysql,而mysql5.7的mysql_install_db命令是在bin目录下 的并且建议 用 mysqld --initialize命令
5.7之后用过使用
bin/mysqld --initialize --user=mysql --basedir=/Ultrapower/test/mysql --datadir=/Ultrapower/test/mysql/data
2.2关于配置文件:
好多资料都有这样一段
cp support-files/my-default.cnf /etc/my.cnf
就是把mysql/support-files/my-default.cnf下的配置文件复制到/etc/my.cnf ,但是5.7之后是没有my-default.cnf配置文件的,这个不影响。
正常安装之后, /etc/my.cnf应该存在,可以不用管上面复制那一步。下面是我用的配置文件,可以参照使用。
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/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.
[mysqld]
# 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
general_log_file = /var/log/mysql/mysql.log
general_log = 1
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
#kip-external-locking
skip-name-resolve
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysql.pid
port=3306
character_set_server=utf8
init_connect='SET NAMES utf8'
log-error=/usr/local/mysql/data/mysqld.err
slow_query_log = 1
slow_query_log_file =/usr/local/mysql/data/slow-query.log
long_query_time = 1
log-queries-not-using-indexes
max_connections = 1024
back_log = 128
wait_timeout = 100
interactive_timeout = 200
key_buffer_size=256M
query_cache_size = 256M
query_cache_type=1
query_cache_limit=50M
max_connect_errors=20
sort_buffer_size = 2M
max_allowed_packet=16M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size = 2048M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3
server_id=1
log-bin=mysql-bin
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M
# 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.
# jo
2.3关于启动:用命令systemctl start mysql.service报错
[csy@root@instance-m4tjyg0q ~]# systemctl start mysql.service
Error getting authority: Error initializing authority: Error calling StartServiceByName
for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24)
Could not watch jobs: Connection timed out
[csy@root@instance-m4tjyg0q ~]#
正确启动方式是
#/etc/init.d/mysql start 或者 serivce mysql start 或者 bin/mysqld_safe&
2.4关于客户端远程连接出现权限问题:
因为创建用户的时候host 是 localhost所以其它外部ip无访问,需要授权
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
%是任意ip
其它使用问题遇到再百度解决吧~