涂抹mysql笔记-管理mysql服务

-DSYSCONFDIR=/mysql/conf \ 所以在conf下建立my.cnf文件

vi my.cnf

[client]
port=3306
socket=/mysql/conf/mysql.sock

#The MySQL server
[mysqld]
port=3306
user=mysql
socket=/mysql/conf/mysql.sock
pid-file=/mysql/conf/mysql.pid
basedir=/mysql
datadir=/mysql/data
tmpdir=/mysql/tmp
open_files_limit=10240
explicit_defaults_for_timestamp
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#Buffer
max_allowed_packet=256M
max_heap_table_size=256M
net_buffer_length=8k
sort_buffer_size=2M
join_buffer_size=4M
read_buffer_size=2M
read_rnd_buffer_size=16M

#log
log-bin=/mysql/binlog/mysql-bin
binlog_cache_size=32M
max_binlog_cache_size=512M
max_binlog_size=512M
binlog_format=mixed
log_output=FILE
log-error=/mysql/logs/mysql-error.log
slow_query_log=1
slow_query_log_file=/mysql/logs/slow_query.log
general_log=0
general_log_file=/mysql/logs/general_query.log
expire-logs-days=14

#InnoDB
innodb_data_file_path=ibdata1:2048M:autoextend
innodb_log_file_size=256M
innodb_log_files_in_group=3
innodb_buffer_pool_size=1024M

[mysql]
no-auto-rehash
prompt=(\[email protected]\h) [\d]>\
default-character-set=gbk

初始化mysql数据库:
$ /mysql/scripts/mysql_install_db --datadir=/mysql/data --basedir=/mysql

support-files/mysql.server脚本启动mysql不推荐,推荐使用mysqld_safe启动:
$ mysqld_safe --defaults-file=/mysql/conf/my.cnf &
netstat -lnt |grep 3306
ps -ef |grep mysql 查看mysql端口和进程

配置mysql
mysql5.6默认root用户不设密码的直接敲入mysql登录。
增强安全性:
select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | linux01 |
| root | linux01 |
| | localhost |
| root | localhost |
+------+-----------+
6 rows in set (0.01 sec)
6个用户,两个用户没有用户名。所以直接可通过mysql登录。
下面保留一条root用户其他用户全部删除。
修改root用户名
update mysql.user set user=‘system‘,password=password(‘oralinux‘);
([email protected]) [(none)]>select * from mysql.db \G
truncate table mysql.db;

[email protected]) [(none)]>exit
Bye
[[email protected] mysql]$ mysql
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
[[email protected] mysql]$ mysql -uroot -p‘oralinux‘
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
[[email protected] mysql]$ mysql -usystem -p‘oralinux‘
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.34-log JASON

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

([email protected]) [(none)]>

创建管理脚本,创建中间定义文件,目的是提高脚本的复用性:
vi /mysql/scripts/mysql_env.ini
#set env
MYSQL_USER=system
MYSQL_PASS=‘oralinux‘

#check parameter
if [ $# -ne 1 ]
then
HOST_PORT=3306
else
HOST_PORT=$1
fi
$ chmod 600 /mysql/scripts/mysql_env.ini
创建mysql_db_startup.sh脚本,用于启动mysql服务:
#!/bin/sh
# Created by jason
source /mysql/scripts/mysql_env.ini
echo "Startup MySQL Service:localhost_"${HOST_PORT}
/mysql/bin/mysqld_safe --defaults-file=/mysql/conf/my.cnf &

$ vi /mysql/scripts/mysql_db_shutdown.sh
#!/bin/sh
#Created by jason
source /mysql/scripts/mysql_env.ini
echo "Shutdown MySQL Service:localhost_"${HOST_PORT}
/mysql/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PASS} -S /mysql/conf/mysql.sock shutdown
创建sqlplus.sh脚本用于快速登录:
$vi /mysql/scripts/sqlplus.sh
#!/bin/sh
#Created by jason
source /mysql/scripts/mysql_env.ini
echo "Login MySQL Service:localhost_"${HOST_PORT}
/mysql/bin/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -S /mysql/conf/mysql.sock $2
chmod +x /mysql/scripts/sqlplus.sh
编辑mysql用户变量,将上述路径加入到PATH中
echo "export PATH=/mysql/scripts:\$PATH" >> ~/.bash_profile
source ~/.bash_profile
设置开机启动:root下
# vi /etc/rc.localhost
# autostart mysql ,added by jason at 2017-03-31
sudo -i -u mysql /mysql/scripts/mysql_db_startup.sh 3306 > /mysql/logs/mysql_db_startup.log 2>&1
执行sudo命令遇到下列错误:
sudo:sorry,you must have a tty to run sudo
vi /etc/sudoers 注释掉56行
#Defaults requiretty

时间: 2024-10-29 19:10:30

涂抹mysql笔记-管理mysql服务的相关文章

MySQL:管理MySQL、事务(三)

干货: 命令行程序mysql实际上是MySQL客户端,真正的MySQL服务器程序是mysqld,在后台运行. 数据库事务具有ACID特性,用来保证多条SQL的全部执行. 五.MySQL 通过mysql命令行登录 MySQL Client的可执行程序是mysql,MySQL Server的可执行程序是mysqld. MySQL Client和MySQL Server的关系如下: 在MySQL Client中输入的SQL语句通过TCP连接发送到MySQL Server.默认端口号是3306,即如果发

涂抹mysql笔记-搭建mysql高可用体系

mysql的高可用体系<>追求更高稳定性的服务体系 可扩展性:横向扩展(增加节点).纵向扩展(增加节点的硬件配置) 高可用性<>Slave+LVS+Keepalived实现高可用:在从库部署负载均衡器.<>安装配置LVS:相当于负载均衡器.我们选择在192.168.1.9主机名为linux04的服务器上安装LVS1.modprobe -l |grep ipvs查看当前操作系统是否存在lpvs模块.2.lsmod |grep ip_vs查看是否ip_vs内个模块是否被加载

【MySQL笔记】mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法

step1:查看 1.1 Mysql命令行里输入"show engines:"查看innoddb数据引擎状态, 1.2 show variables "%_buffer%"里查看innodb_buffer_pool_size的数值,默认是8M(太小,需要改大一点!) step2:找配置文件,修改innodb_buffer_pool_size=64M 2.1 在linux里配置文件是my.cnf,windows里是my.ini(注:不是my-default.ini).

【MySQL笔记】MySQL使用索引的场景及真正利用索引的SQL类型

本笔记主要记录MySQL索引方面的内容,以便为实际工作中SQL优化提供参考. 1. 为什么使用索引 在无索引的情况下,MySQL会扫描整张表来查找符合sql条件的记录,其时间开销与表中数据量呈正相关.对关系型数据表中的某些字段建索引可以极大提高查询速度(当然,不同字段是否selective会导致这些字段建立的索引对查询速度的提升幅度不同,而且索引也并非越多越好,因为写入或删除时需要更新索引信息). 对于MySQL的Innodb储存引擎来说,大部分类型的index均以B-Tree数据结构的变种B+

mysql 常见管理操作

一:mysql用户管理 MYSQL数据库默认只有一个root用户 mysql将用户信息保存在mysql数据库user表中 创建一个新用户:CREATE USER 用户名 IDENTIFIED BY '密码';  #新用户创建后不能登录,因为没有设置权限 mysql> create user xj identified by '654321'; Query OK, 0 rows affected (0.00 sec) mysql> select user,host,password from u

MySQL用户管理、常用sql语句、数据库备份恢复

MySQL用户管理 MySQL分为普通用户与root用户.这两种用户的权限不一样.新建普通用户在MySQL数据库中,建立用户有3种方式:使用CREATE USER语句来创建新的用户:直接在mysql.user表中INSERT用户:使用GRANT语句来新建用户: grant命令grant all on *.* to 'user1'@'192.168.71.131' identified by '123456'; all 表示所有的权限. 表示所有的库,前面的表示库名,后面的表示所有的表'user1

mysql用户管理+pymysql模块

mysql 用户管理 Mysql 是一个tcp 服务器 用于接收用户端发送的指令,操作服务器上的文件数据 在mysql自带的mysql数据库中有4个表用于用户管理的 分别是: 优先级从高到低 user -> db -> tables_priv -> columns_priv 1.创建用户 create user 用户名@"主机地址" identified by "密码"; 此处的主机地址 不是服务器地址 而是表示 这个账户可以在那台电脑上登录 2.

mysql日志管理笔记

1.错误日志: log_error  #错误日志 log_warnings  #警告信息也要记录到错误日志中:0:表示不记录:1表示记录 log_error=/PATH/TO/ERROR_LOG_FILENAME 定义错误日志文件.作用范围为全局或会话级别,可用于配置文件,属非动态变量. log_warnings=# 设定是否将警告信息记录进错误日志.默认设定为1,表示启用:可以将其设置为0以禁用:而其值为大于1的数值时表示将新发起连接时产生的"失败的连接"和"拒绝访问&qu

涂抹mysql笔记-mysql复制特性

<>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到C.也可以实现A直接复制到B和C(单主多从复制),甚至A的数据复制给B,B的数据也复制会A(双主复制) <>mysql复制处理数据时,有三种不同的模式: 1.基于语句复制(Statement Based Replication):基于实际执行的sql语句的模式方案简称SBR 2.基于记录复制(Ro