MySQL安装
MySQL在MAC下安装
下载
brew install mysql
mysql.server 在support-files下
启动服务
mysql.server start
windows启动命令
net start mysql
默认情况下没有密码,直接就可以使用root登录
设置安全认证
mysql_secure_installation
停止服务
mysql.server stop
MySQL在Linux下安装
下载压缩包,解压之后放到/usr/local目录下,目录名称修改为mysql
#创建数据目录
mkdir /usr/local/mysql/data
# 创建mysql用户、mysql组,并将该目录权限
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
# 切换到bin目录下
cd /usr/local/mysql/bin
# 进行安装 此时会生成一个root用户的密码
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
# 创建软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 启动mysql
service mysql start
# 使用安装时生成的密码登录之后,进行密码修改
set password for root@localhost = password('123456');
# 开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
MySQL在windows下安装
下载压缩包,解压后在bin目录的同级目录下创建my.ini
配置环境变量MYSQL_HOME为mysql的下载目录
,设置Path追加%MYSQL_HOME\bin%
之后执行
mysqld --install
该命令正常应该返回Service successfully installed 如果返回Install/Remove of the Service Denied说明没有权限,需要使用管理员身份打开命令行,然后再执行该命令
如果执行报xxx.dll不存在,可以下载DirectX修复工具来进行修复dll
之后执行
mysqld --initialize
此时会在my.ini中配置的basedir下生成mysql文件。默认密码在所配置的datadir目录下的电脑名.err
文件中,使用该默认生成的密码来进行登录
先开启mysql服务
net start mysql
进入mysql
mysql -uroot -p
输入生成的默认密码
进入之后把密码改掉
flush privileges;
set password for root@localhost = password('123456');
退出之后,使用新改的密码123456就可以登录了
配置文件
# [mysqld] 组中包含了mysqld服务启动时的参数
[mysqld]
datadir=/usr/local/mysql/data
# 端口号
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
# 指定mysql允许的最大连接进程数。经常出现too many connections的错误,可增加该值
max_connections=400
innodb_file_per_table=1
character_set_server=utf8
# linux和unix环境下,可以不通过tcp/ip网络连接而直接使用unix socket连接
socket = /tmp/mysql.sock
# 不使用域名解析,如果配置了表示连接方式要使用ip,否则无法连接
skip-name-resolve
# 避免mysql的外部锁定
skip-external-locking
# back_log表示在mysql暂时停止响应新请求之前,短时间内的多少请求可以被存到堆栈中。如果系统在短时间内有很多连接,需要增大该值
back_log=384
#用于MyISAM表索引的缓冲区大小,对MyISAM表性能影响较大
key_buffer_size=384M
#在网络传输中一次消息传输量的最大值,为1024的整数倍,单位字节
max_allowed_packet=4M
# 设置mysql每个线程的堆栈大小
thread_stack=256K
# 表高速缓存的大小,当mysql访问一个表时,如果在mysql表缓冲区中还有空间,这个表就被打开并放入表缓冲区,可以加快访问表的内容。可以查看数据库运行峰值的open_tables和opened_tables,用来判断是否需要增加table_cache的值。如果open_tables接近table_cache的时候,并且opened_tables这个值在逐步增加,就要考虑增加这个值了
table_cache=614K
# 查询排序所用的缓冲区大小
sort_buffer_size=6M
# 查询操作所能使用的缓冲区大小
read_buffer_size=4M
# 联合查询操作所使用的缓冲区大小
join_buffer_size=8M
# 设置ThreadCache池中可以缓存的连接线程最大数量
thread_cache_size=64
# 查询缓冲区大小。当qcache_lowmem_prunes非常大时,表示经常出现缓冲不够的情况;qcache_free_blocks非常大时,说明缓冲区中的碎片非常多
query_cache_size=64M
#用于内存临时表的最大值,如果超过该值,会将临时表写入磁盘
tem_table_size=256M
#设置每台主机的连接请求异常的最大次数,超过该次数,mysql服务器将禁止该host的连接请求,可以通过flush hosts命令来清空此host的相关信息
max_connect_errors=1000
#一个请求的最大连接时间
wait_timeout=10
#一般取为逻辑cpu的两倍
thread_concurrency=8
#彻底关闭TCP/IP连接方式,如果是远程连接不要使用该配置
skip-networking
[mysql]
default-character-set=utf8
命令
MySQL登录命令
mysql -u 用户名 -p 密码 -P 端口号 -h 服务器ip
-----------
-u/-user 用户名
-p 密码
-h/-host 服务器ip或主机名
-P/-port 端口号
-default-character-set 字符集
databasename 该参数不是命令行选项,而是打算使用的数据库
重要命令
- clear 简写为\c,放弃正在输入的命令
- help 简写\h,显示帮助命令
- quit或exit 简写\q,退出mysql命令行
- status 简写\s,查看mysql服务器的状态信息
- tee [filename] 简写\T [f],把输入输出记录到指定文件中
- notee 简写\t,停止使用tee功能
- use db 简写\u db,指定使用数据库
- source filename 简写 \. filename,读取并执行给定文件中的sql命令
- show processlist 查看所有活跃的线程
- show privileges 显示MySQL服务器支持的系统特权列表
本文由mdnice多平台发布