文章目录
1.解压上传的tar.gz文件
tar -zxvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
2.建立软连接
ln -s ln -s mysql-5.6.23-linux-glibc2.5-x86_64 mysql
3.创建用户组和用户
为mysql单独创建一个用户组和用户
#创建名为dba的用户组,组id设置为101
groupadd -g 101 dba
#创建用户
useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
“-u” 为用户mysqladmin创建一个用户id
“-g” 为用户指定一个主组
“-G” 为用户添加一个其他组
“-d” 为用户指定家目录
上面这些参数可以通过useradd --help帮助文档查看
#查看用户的组信息
id mysqladmin
切换mysqladmin账户,发现光标前面显示有点不对(这个问题是因为家目录缺少skel下的.bash文件)
所以我们要把skel下的.bash文件拷贝过去,发现光标之前样式正确了
4.配置/etc/my.cnf文件
一般/etc/下都有my.cnf文件
先备份出来一个,然后再进行修改
编辑my.cnf
vi /etc/my.cnf
配置如下参数:
innodb_buffer_pool_size(生产上一般调一调这个参数,给个8G内存差不多了)
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M
table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 32
#isolation level and default engine
default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED
server-id = 1
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/hostname.pid
#open performance schema
log-warnings
sysdate-is-now
binlog_format = MIXED
log_bin_trust_function_creators=1
log-error = /usr/local/mysql/data/hostname.err
log-bin=/usr/local/mysql/arch/mysql-bin
#other logs
#general_log =1
#general_log_file = /usr/local/mysql/data/general_log.err
#slow_query_log=1
#slow_query_log_file=/usr/local/mysql/data/slow_log.err
#for replication slave
#log-slave-updates
#sync_binlog = 1
#for innodb options
innodb_data_home_dir = /usr/local/mysql/data/
innodb_data_file_path = ibdata1:500M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/arch
innodb_log_files_in_group = 2
innodb_log_file_size = 200M
innodb_buffer_pool_size = 2048M
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 16M
innodb_lock_wait_timeout = 100
#innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_locks_unsafe_for_binlog=1
#innodb io features: add for mysql5.5.8
performance_schema
innodb_read_io_threads=4
innodb-write-io-threads=4
innodb-io-capacity=200
#purge threads change default(0) to 1 for purge
innodb_purge_threads=1
innodb_use_native_aio=on
#case-sensitive file names and separate tablespace
innodb_file_per_table = 1
lower_case_table_names=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[mysqlhotcopy]
interactive-timeout
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
修改下my.cnf的用户和用户组,以及权限
#修改用户和用户组
chown mysqladmin:dba /etc/my.cnf
#修改配置文件权限
chmod 640 /etc/my.cnf
5.mysql文件夹的用户、用户组、权限
从下图可以看出,mysql文件夹权限需要改成mysqladmin的,权限要改成755
#修改用户和用户组
chown -R mysqladmin:dba mysql mysql-5.6.23-linux-glibc2.5-x86_64
#修改权限
chmod -R 755 mysql mysql-5.6.23-linux-glibc2.5-x86_64
修改完之后,我们还要看下mysql文件夹里面的文件是否修改
创建binlog日志存储的文件夹
6.开始安装mysql
./scripts/mysql_install_db
提示先要安装perl modules Data-Dumper
yum install perl-Data-Dumper.x86_64
安装成功
再次安装,就ok了(执行下面的命令)
./scripts/mysql_install_db
把服务文件拷贝到init.d下,并重命名mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
#删除服务
chkconfig --del mysqld
#添加服务
chkconfig --add mysqld
#设置开启自启动
chkconfig --levle 345 mysqld on
有时候上面的开启自启动没用,我们要做下面的操作
vi /etc/rc.local
#启动后切换到mysqladmin用户,然后执行后面的命令
su - mysqladmin -c "/etc/init.d/mysqld start"
配置mysql环境
配置好后,生效下
source /etc/profile
7.启动mysql
./bin/mysqld_safe &
查看mysql是否启动
8.mysql登陆
输入mysql登陆成功
9.更新密码和清除用户
1.输入mysql登陆成功
2.切换mysql数据库
3.查看user表的用户,密码,以及登陆的主机
从上图可以看出,用户为空,密码为空也可以登陆,所以我们开始输入mysql就可以直接登陆了
4.删除掉空账户
delect from user where user = ‘’;
5.修改密码
update user set password=password(‘password’) where user = ‘root’;
修改之后比较重要的一步,刷新权限
flush privileges;
再次mysql不能登陆
下面我们需要用我们刚刚设定密码进行登陆
10创建数据库
10.1 总共3步:
#创建数据库ruozedata
1.create database testdata;
#赋予数据库用户名和密码的权限,用户为jack,密码为password
2.grant all privileges on testdata.* to jack@'localhost' identified by 'password'
#刷新权限
3.flush privileges;
10.2 数据库允许某个网段ip访问
允许192.168.11.1-255可以访问
grant all privileges on testdata.* to jack @'192.168.11.%' identified by 'password'
10.3 数据库允许所有ip访问
grant all privileges on testdata.* to @'%' identified by 'password'
10.4 显示权限
show grants for ruoze@'%';