mysql启动报file don't exists

安装mysql为mysql-5.6.36-linux-glibc2.5-x86_64
service mysql start
错误信息:
Starting MySQL.170623 10:57:50 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

卸载插件mariadb后,重新安装还是报上面的错误信息

参与31

6同行回答

VictoremVictorem  系统运维工程师 , 杭州昊美科技有限公司
[此回答已删除]
浏览4173
bryanbryan  软件架构设计师 , 金融研发
说的很清楚要var/log/mariadb/mariadb.log' 这个目录不是 writable显示全部

说的很清楚要var/log/mariadb/mariadb.log' 这个目录不是 writable

收起
银行 · 2019-05-08
浏览4856
liucj2004liucj2004  其它 , undefined
基本上是mysql用户没有权限的问题。根据配置文件里面的各种路径,给mysql用户在那些路径下写的权限比如说log,pid,socket,data等给缺权限的路径或者完全没那个路径,加上写权限一般来说socket放在/tmp下,其他的放在mysql自己的专门的目录下,然后那整个目录的own就设定为mysql...显示全部

基本上是mysql用户没有权限的问题。
根据配置文件里面的各种路径,给mysql用户在那些路径下写的权限
比如说log,pid,socket,data等
给缺权限的路径或者完全没那个路径,加上写权限
一般来说socket放在/tmp下,其他的放在mysql自己的专门的目录下,然后那整个目录的own就设定为mysql

收起
农业其它 · 2017-06-24
浏览8084
陈锐 邀答
陈锐陈锐  项目经理 , 打杂
chenruiziyao@foxmail.com显示全部
金融其它 · 2017-06-23
浏览8274
y18511664518y18511664518  技术总监 , 长城超云
分享一下我写的一个mysql模板,自己看一下吧,如果需要,可以留下邮箱,看到我会把文档发过去,这里粘贴过来有点问题一、 环境配置1、环境Master-IP:192.168.56.100Slave-IP:192.168.56.101操作系统:oracle liunx 6.82、OS配置(1)禁止iptables/etc/init.d/iptables stopchkconfig i...显示全部

分享一下我写的一个mysql模板,自己看一下吧,如果需要,可以留下邮箱,看到我会把文档发过去,这里粘贴过来有点问题
一、 环境配置
1、环境
Master-IP:192.168.56.100
Slave-IP:192.168.56.101
操作系统:oracle liunx 6.8
2、OS配置
(1)禁止iptables
/etc/init.d/iptables stop
chkconfig iptables off
(2)禁止seliunx
getenforce 0
vim /etc/sysconfig/seliunx
把seliunx=enforcing替换成SELIUNX=disabled
3、分区要求
挂载点 分区类型 大小 用处
/ Ext4 100G Liunx系统文件及系统日志
/boot Ext4 400M 放置内核文件
Swap Swap 根据内存大小*2 交换分区
/data Ext4 3T 放置mysql数据
/backup1 Ext4 2T 放置mysqldump备份数据
/backup2 Ext4 3T 放置xtrabackup全备以及增量数据
/backup3 Ext4 2T 备用

二、 Mysql目录配置
1、 MYSQL二进制安装文件放置
/backup3/pkg
Mkdir –p /backup3/pkg/
2、 MYSQL 文件安装位置
/data/mysql/8806/mysql/
/usr/local/mysql 软链接到此目录
cd
mkdir –p /usr/local/mysql
Cd /usr/local
Ln –s /data/mysql/8806/mysql/ mysql
3、 数据文件放置
/data/mysql/8806/data 数据目录
/data/mysql/8806/logs/{log_error, slow_query, log_bin} 日志目录
/data/mysql/8806/tmp sock目录
Mkdir –p /data/mysql/8806/{data,logs,tmp}

     Mkdir –p /data/mysql/8806/logs/{log_error, slow_query, log_bin}

4、 脚本以及备份文件位置
/data/mysql/scripts 脚本存放目录
/backup1/
/backup2/
Mkdir –p /data/mysql/scripts
三、 MYSQL安装
1、 下载二进制安装文件
去官方网站找到 Linux-generic 的二进制版本下载
下载版本mysql-5.7.17-linux-glibc2.5-x86_64.tar
cd /backup3
解压到 tar –xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar –C /data/mysql/8806/mysql/
tar –zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

2、 创建用户
Groupadd mysql
Useradd –M –g mysql –s /sbin/nologin –d /usr/local/msyql mysql
Chown –R mysql:mysql /data/mysql
Chmod –R 775 /data/mysql
Chmod –R 775 /backup1
Chown –R mysql:mysql /backup1
Chmod –R 775 /backup2
Chown –R mysql:mysql /backup2
Chmod –R 775 /backup3
Chown –R mysql:mysql /backup3

3、 创建/etc/my.cnf配置文件
[client]
port = 8806
socket =/data/mysql/8806/tmp/mysql.sock

[mysql]
no_auto_rehash
prompt=(\\u@\\h):[\\d]>\\

[mysqld]

Gernal setting

skip_name_resolve=on
skip_external_locking=on
basedir =/usr/local/mysql
datadir =/data/mysql/8806/data
port = 8806
server_id = 11188
socket =/data/mysql/8806/tmp/mysql.sock
character_set_server=utf8
wait_timeout = 1800
interactive_timeout = 1800
connect_timeout = 20
back_log = 500
transaction_isolation = REPEATABLE-READ

Log error

log_error=/data/mysql/8806/logs/log_error/error_log.log

Binary log

sync_binlog = 1
log_bin = /data/mysql/8806/logs/log_bin/mysql-bin.log
max_binlog_size = 512M
binlog_format = row
binlog_cache_size = 4M
binlog_ignore_db = mysql
expire_logs_days=10
sql_safe_updates = ON

Rreplication

slave_net_timeout = 10
skip_slave_start

relay_log_recovery = 1

master_info_repository = TABLE
relay_log_info_repository = TABLE

Slave

read_only

Slow log

slow_query_log=1
slow_query_log_file=/data/mysql/8806/logs/slow_query/slow_query.log
long_query_time = 5
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = 1
log_slow_slave_statements = 1
min_examined_row_limit = 1000
log_timestamps=system

Gtid

log_slave_updates
gtid_mode = on
enforce_gtid_consistency = true

Pga

max_connections = 5000
max_user_connections = 1000
max_connect_errors = 2000
key_buffer_size = 64M
max_allowed_packet = 32M
table_open_cache = 6000
table_definition_cache = 6000
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size=8M
join_buffer_size = 16M
tmp_table_size = 64M
max_heap_table_size = 64M
query_cache_size =16M
query_cache_type = 0
thread_cache_size = 300
thread_stack = 256K
explicit_defaults_for_timestamp
bulk_insert_buffer_size=8M

Innodb

innodb_file_per_table = 1
innodb_log_files_in_group = 2
innodb_data_home_dir = /data/mysql/8806/data

innodb_data_file_path =/data/mysql/8806/data/ibdata1:2000M:autoextend;/data/mysql/8806/data/ibdata2:2000M:autoextend

Innodb_file_per_table=/data/mysql/8806/data/cxpay.ibd:2000M:extend
innodb_log_group_home_dir = /data/mysql/8806/data
innodb_buffer_pool_size =100G
innodb_buffer_pool_instances=8

innodb_additional_mem_pool_size=50M

innodb_log_file_size =1024M
innodb_log_buffer_size=32M
innodb_flush_log_at_trx_commit =1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct =50
innodb_support_xa = 1
innodb_thread_concurrency =16
innodb_purge_threads =4
innodb_adaptive_hash_index = 1
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_flush_method = O_DIRECT
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_io_capacity = 360
innodb_lru_scan_depth = 1024
innodb_status_output_locks = 1
innodb_print_all_deadlocks = 1

[mysqldump]
user=root
password=mysql2017

4、参数设置
(1)在/etc/security/limits.conf文件中加入下列行:
root soft nproc 2047
root hard nproc 16384
root soft nofile 1024
root hard nofile 65536
root soft stack 10240
(2)修改IO调度器设置
修改/etc/grub.conf,永久生效
在kernel哪行增加 elevator=deadline
Cat /sys/block/sda/queue/scheduler
(3)修改swappiness设置
Vi /etc/sysctl.conf
Vm.swappiness=0
(4)关闭NUMA特性
修改/etc/grub.conf
Kernel行增加numa=off
(5)关闭CPU节能模式
[root@mysql ~]# chkconfig cpuspeed off
[root@mysql ~]# chkconfig |grep cpuspeed
cpuspeed 0:off 1:on 2:off 3:off 4:off 5:off 6:off
[root@mysql ~]# chkconfig irqbalance off
[root@mysql ~]# chkconfig |grep irqbalance
irqbalance 0:off 1:off 2:off 3:off 4:off 5:off 6:off

5、 MYSQL初始化
cd /usr/local/mysql

./bin/mysqld –initialize
获取初始密码(标红位置)
cat /data/mysql/8806/logs/log_error/error_log.log |grep password
2017-02-27T21:08:44.887592+08:00 1 [Note] A temporary password is generateroot@localhost: Y69W2:/iZlya

6、 创建一个启动脚本
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql

7、 启动和关闭
/etc/init.d/mysql start|stop|restart

8、 添加环境变量
echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile

9、 进入MYSQL并修改密码
Mysql –S /data/mysql/8806/tmp/mysql.sock –p
alter user user() identified by ‘xdjk@2017’;
提示符发生改变,提示正常的用户。

10、 创建用户
主从同步用户
create user 'slave'@'slave-ip' identified by 'mysql2017';
grant replication slave on . to 'slave'@'192.168.56.102';

  
  备份用户
  create user 'bkuser'@'localhost' identified by 'mysql2017';
  revoke all privileges,grant option from 'bkuser';
  grant reload,lock tables,replication clinet on *.* to 'bkuser'@'localhost';
    flush privileges;

    应用用户
   grant select,delete,insert,update,create,event,alter,index,create temporary tables,lock tables,trigger,create view,show view on *.* to 'cxpay'@'localhost' identified by 'password';

注释:.替换成 databasename.*,password替换成新密码.

四、 工具安装
1、 读写分离工具mycat安装
2、 备份软件percona-xtrabackup
Yum –y install percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm
3、 Mysql日常工具percona-toolkit-3.0.1
Yum –y install percona-toolkit-3.0.1-1.el6.x86_64.rpm
4、 MYSQL测试工具tpcc-mysql
5、 MYSQL巡检脚本mymon
6、 系统ISO上传到/backup3

五、 备份脚本部署
1、 mysqldump自动备份脚本
存放目录/data/mysql/scripts/mysqldump/
2、 xtrabackup自动备份脚本
存放目录/data/mysql/scripts/xtrabackup/
六、 巡检脚本部署
Crontab -e
30 /6 ./mymon -h localhost –P8806 -t 5 -n 100 -ummon2 -pgelc123 -l /backup3/mymonlog/20170123mysql.log

七、 主从复制配置

八、 读写分离配置

收起
金融其它 · 2017-06-23
浏览8662
冯帅冯帅  数据库管理员 , 贝壳金服
是不是安装的用户没有权限 你可以手动的建这一个文件mkdir -p /var/log/mariadb/cd /var/log/mariadb/touch mariadb.logchmod -R 775 mariadb.logchown -R mysql:mysql mariadb.log显示全部

是不是安装的用户没有权限 你可以手动的建这一个文件

mkdir -p /var/log/mariadb/
cd /var/log/mariadb/
touch mariadb.log
chmod -R 775 mariadb.log
chown -R mysql:mysql mariadb.log

收起
融资租赁 · 2017-06-23
浏览17370
陈锐彬彬 邀答

提问者

陈锐
项目经理打杂
擅长领域: 系统运维服务器中间件

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-23
  • 关注会员:6 人
  • 问题浏览:21633
  • 最近回答:2019-09-09
  • X社区推广