\softwear\mariadb-10.0.17-mysql 5.7.13 winx644\bin 找不到指定路径怎么解决

centos7安装mariadb
mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 安装一些库 yum install gcc gcc-c++ wget net-tools 复制代码 查看SELinux状态: /usr/sbin/sestatus -v 复制代码 #如果SELinux status参数为enabled即为开启状态; 如果为关闭可以跳过 修改
mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb
安装一些库
yum install gcc gcc-c++ wget net-tools
查看SELinux状态:
/usr/sbin/sestatus -v&&
#如果SELinux status参数为enabled即为开启状态;
如果为关闭可以跳过
修改/etc/selinux/config文件
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
下载mariadb安装包到cd /usr/local/src/
cd /usr/local/src/
wget /mariadb/mariadb-10.0.21/bintar-linux-glibc_214-x86_64/mariadb-10.0.21-linux-glibc_214-x86_64.tar.gz
linux64位下载地址
/mariadb/mariadb-10.0.21/bintar-linux-glibc_214-x86_64/mariadb-10.0.21-linux-glibc_214-x86_64.tar.gz
linux32位下载地址
/mariadb/mariadb-10.0.21/bintar-linux-glibc_214-x86/mariadb-10.0.21-linux-glibc_214-i686.tar.gz
将压缩包解压到/usr/local 目录下
tar zvxf mariadb-10.0.13-linux-glibc_214-x86_64.tar.gz -C /usr/local/
创建mariadb 数据初始化目录/mydata/mysql这边把mysql放到云盘上mydata为新挂载盘
mkdir -p /data/mysql
添加系统用户mysql,禁止登陆系统目录所属主和组都修改为mysql
useradd -r -s /sbin/chown -R mysql.mysql /mydata/mysql/
做个mariadb 目录的连接
ln /usr/local/mariadb-10.0.13-linux-x86_64/ /usr/local/mysql
cd /usr/local/mysql/
./scripts/mysql_install_db --datadir=/mydata/mysql --user=mysql
如果没有报错就复制配置文件到etc目录下
cp support-files/f /f
是否覆盖 选 y
复制mysql 启动脚本文件到/etc/init.d的目录下
cp support-files/mysql.server /etc/init.d/mysqld
修改755权限
chmod 755 /etc/init.d/mysqld
定义数据存放路径
vim /etc/init.d/mysqld
datadir=/mydata/mysql
将mariadb自带命令放入$PATH
PATH=$PATH:/etc/init.d/&&#当前有效,重启shell就失效
echo &export PATH=$PATH:/etc/init.d/& &&/etc/profile
echo &export PATH=$PATH:/usr/local/mysql/bin/& &&/etc/profile
启动mariadb
/etc/init.d/mysqld start
(责任编辑:admin)
------分隔线----------------------------
下一篇:没有了14:06 提问
MariaDB 安装出现权限不足的问题
本人下载了mariadb-10.0.8-win32.msi,在安装过程中一切顺利,直到按下install键安装时,读条读到80%,连图标都在桌面上显示了,突然弹框,说无法“Service‘MySQL’(MySQL)failed to start.Verify that you have sufficient privileges to start system services”就是说我的用户管理权限不够,没办法启动该项服务。我已试过用cmd启动安装,不行;也试过按右键,不过没有“以管理员身份运行”这一条;也试过程序-&运行-&"C:\mariadb-10.0.8-win32.msi",不过还是出现同样错误的情况。最后想问有没有什么建议或方法可以解决这个问题?如果真有大牛,还望说出原因。
按赞数排序
我和你碰到一样的问题,是这样解决的:
1,到官网下载免安装版的,后缀是zip的那个。
2,解压拷贝到相应的目录,我放在了这个目录:D:\Program Files\mariadb-10.1.8-winx64
3,cmd命令行切换到D:\Program Files\mariadb-10.1.8-winx64\bin目录,创建mariadb的服务,这里有两种方式:
3.a创建默认服务,直接在当前目录输入 mysqld.exe --install MariaDB,回车后提示“Service successfully installed",说明创建了MariaDB的服务,
但没有指定端口,默认端口是3306,所以如果本机上以前装过mysql且端口是3306的话,要把mysql服务先停掉。用户名是root,密码为空,即没有
3.b,同事是安装版的,安装好后在目录D:\Program Files\mariadb-10.1.8-winx64\data下有个my.ini文件,文件中为安装配置参数,修改了端口为3308,文件内增加了默认字符集的设置,内容如下:
---------------------------(分隔线是我加的,方便阅读,不是my.ini的内容)
#datadir=D:/Program Files/MariaDB 10.1/data
datadir=D:/Program Files/mariadb-10.1.8-winx64/data
character-set-server=utf8
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=495M
innodb_log_file_size=50M
default-character-set=utf8,
----------------------------------------------(分隔线是我加的,方便阅读,不是my.ini的内容),
如果mariadb的服务已经被创建过了,要先移除,还是刚才那个bin目录,输入命令:mysqld.exe --remove MariaDB,回车后提示“Service successfully removed”,说明服务移除成功,将上述my.ini文件拷贝到D:/Program Files/mariadb-10.1.8-winx64/data目录下,然后在当前目录下键入命令:mysqld.exe --install MariaDB --defaults-file="D:\Program Files\mariadb-10.1.8-winx64\data\my.ini" MariaDB,提示服务创建成功!
4,切换到bin目录,输入命令mysql -u root -p,回车后提示输入密码,直接回车,因为没有设置密码,默认没有密码;但是当本机之前安装过mysql时,要加上端口参数,即mysql -u root -P 3308 -p,否则默认还是会启动你的mysql而不是新安装的MariaDB。
就是这些,算是绕路了,选免安装版的,至于安装版为什么会出现这种问题,我也解释不了,难道是因为盗版的操作系统?期待大牛出现答疑解惑~
503关注|151收录
739关注|426收录
677关注|1142收录
其他相似问题2278人阅读
mariadb(11)
Maridb 10.1.10
on centos 6.6
******************************************************************************
1.系统部分
******************************************************************************
--------1.desktop安装即可,选择自定义
选择下面两个包,其它根据自己需求选择
base system
legacy unix compatibility(rsh telnet ksh tftp
legacy x window system compatibility (xorg-x11-xdm)
-------2 配置yum源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.old
wget -O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-6.repo
yum makecache
检查可更新的rpm包
#yum check-update
更新所有的rpm包
#yum update
---4.关闭防火墙
chkconfig --level 123456 iptables off
service iptables stop
---5.修改hosts
echo &192.168.50.208
mariadb& && /etc/hosts
yum install lrzsz -y
******************************************************************************
2.mysql安装部分
******************************************************************************
一:卸载旧版本
使用下面的命令检查是否安装有MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql
//普通删除模式
rpm -e --nodeps mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,
则用该命令可以对其进行强力删除
yum remove mysql-libs
二:安装MySQL
--1.安装编译代码需要的包
yum -y install cmake
gcc gcc-c++
autoconf automake zlib*
ncurses ncurses-devel libtool-ltdl-devel* make
bison bison-devel libaio
--2.为mysql新建组和用户
groupadd mysql && useradd -g mysql
mysql -s /sbin/nologin && passwd mysql
mysql01!@#
--3.设置用户的系统资源限制
#vi /etc/security/limits.conf
--4.编译安装
mkdir /soft && cd /soft
tar xf mariadb-10.1.10.tar.gz
&& cd mariadb-10.1.10
cmake . -LH
--查看cmake支持的mysql相关参数
shell& cmake . -L
# overview
shell& cmake . -LH
# overview with help text
shell& cmake . -LAH # all params with help text
shell& ccmake .
# interactive display
重新编译时,需要清除旧的对象文件和缓存信息
make clean
CMakeCache.txt
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_SPHINX_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=33107
make install
三:配置MySQL
--1.新建数据文件、临时文件,修改权限
mkdir -p /data/mysql
mkdir /data/mysql/{innodb_data,data,tmp} -p
mkdir /data/mysql/mysql_logs/{binary_log,innodb_log,query_log,slow_query_log,error_log} -p
--2.修改参数
#rm -rf /f;vi /data/f
--3.链接文件
##链接文件
lrwxrwxrwx. 1 root root 23 Nov 18 17:30 /f -& /data/f
--4.修改权限
chown -R mysql /data/mysql
chgrp -R mysql /data/mysql
--5.初始化数据库
---5.1 初始化数据库
cd /data/mysql/scripts
# ./mysql_install_db
--defaults-file=/f --user=mysql --basedir=/data/mysql \
--datadir=/data/mysql/data
[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 25928 ...
Filling help tables...
[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 25973 ...
Creating OpenGIS required SP-s...
[Note] /data/mysql/bin/mysqld (mysqld 10.1.10-MariaDB-log) starting as process 26019 ...
--6.启动MySQL
---6.0 修改文件权限
chown -R mysql /data/ chgrp -R mysql /data/mysql
--6.1添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cd /data/mysql/&& cp support-files/mysql.server /etc/init.d/mysql &&
chkconfig mysql on
service mysql start #建议使用安全启动,此行不执行
--6.2建议安全启动
/data/mysql/bin/mysqld_safe &
/data/mysql/bin/mysqld_safe --datadir='/data/mysql/data' &
--7.配置mysql用户
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
--7.1修改/etc/profile文件,在文件末尾添加
#vi + /etc/profile
PATH=/data/mysql/bin:$PATH
export PATH
#source /etc/profile
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码
--7.2修改mysql管理员密码
1.给所有的root用户设定密码:
第一种方式(推荐此方法)
# mysql -uroot
MariaDB [(none)]&
MariaDB [(none)]& select host,user,password from mysql.
+-------------------+------+----------+
| user | password |
+-------------------+------+----------+
| localhost
| 127.0.0.1
| localhost
+-------------------+------+----------+
6 rows in set (0.00 sec)
update mysql.user set password = password('password') where user = 'root' limit 100;
3.删除所有匿名用户(不要删除root@localhost)
mysql& DROP USER ''@'localhost';delete from mysql.user where user='' limit 10;
mysql& delete from mysql.user where host='';
--7.3 设置mysql用户安全
select user,host,password from mysql.
delete from mysql.user where user not in('root');
--7.4 设置root用户可以远程访问
--方法1:授权法(推荐)
mysql&GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' \
WITH GRANT OPTION;
select host,user,password from mysql.
--7.3 登录mysql
#mysql -hlocalhost -uroot -ppassword
----7.6设置linux脚本
vi + ~/.bash_profile
#ocpyang set(绑定mysql到内网IP只能写内网IP)
alias date='date &+%Y-%m-%d %H:%M:%S& '
mysql=&mysql -hlocalhost -uroot -ppassword --auto-rehash --prompt=\&\u@mariadb \R:\m:\s&\& &
errorlog=&cat
/data/mysql/mysql_logs/error_log/error.log&
mycnf=&cd /data/mysql&
export PATH=/data/mysql/scripts:$PATH
source ~/.bash_profile
----7.7修改权限
chown -R mysql /data/mysql && chgrp -R mysql /data/mysql
----常见启动错误或警告
cat /data/mysql/mysql_logs/error_log/error.log
:16:30 [Warning] 'user' entry 'root@' ignored in --skip-name-resolve mode.
:16:30 [Warning] 'user' entry '@' ignored in --skip-name-resolve mode.
:16:30 [Warning] 'proxies_priv' entry '@% root@' ignored in --skip-name-resolve mode.
from mysql.proxies_priv where host='';
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1138754次
积分:13385
积分:13385
排名:第643名
原创:243篇
文章:53篇
阅读:329644
(4)(2)(1)(7)(12)(3)(2)(4)(6)(5)(1)(5)(9)(10)(3)(11)(3)(5)(8)(9)(1)(1)(3)(9)(7)(4)(1)(1)(2)(4)(6)(6)(15)(16)(22)(20)(20)MySQL(8)
安装什么的第一要素就是看文档,链接如下
/kb/en/mariadb/yum/
文中步骤大致描述如下:
1、根据你需要的版本去MariaDB的仓库去找对应的repo(链接:https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft)
创建本机的repo(在/etc/yum.repos.d/下)
vim /etc/yum.repos.d/MariaDB.repo贴代码!(下面给的是例子,具体的参数根据你所需要的repo)
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
2、据说!据说要把之前的MySQL或者是MariaDB给卸载了,因为我的系统是CentOS mini的,之前就没这些东西,So~我只告诉你rpm -qa | grep MariaDB
-- 查看对应的安装包 可以用yum remove XX 卸载3、可以使用yum search MariaDB 查看安装包,官方给出的只要安装server和client即可,其他的根据自己的需要来
yum install MariaDB-server MariaDB-client4、启动MariaDB(下面二选一,唔,yum安装之后实际上是会建立两个服务名mysql&mariadb,实际上都指向MariaDB,可以根据第一个命令看路径)
systemctl start mariadb
-- 貌似是CenOS7下的新命令?以前没见过service mysql start
-- 这个命令也可以
以上为官方
好像网上挺多人这几步也有出错的,唔,反正我没遇到错误,在官方的操作下的时候还是比较顺利的,遇到错误是之后配置my.cnf的时候
通过yum装很多东西都是默认的比较肉疼,不像源码编译或者自己DOWN安装包可以各种指定,列一些比较重要的路径出来
yum 安装会自动创建mysql 用户和用户组
Yum安装会自动创建 /f 以及/f.d 文件架(并存放 server.conf client.conf tokudb.conf 等文件)
默认rpm路径
basedir =/usr/bindatadir=/var/lib/mysql.h=/usr/include/mysqlplung=/usr/lib64/mysqlshare=/usr/share/mysql(conf charset etc)
下面是之后配置的步骤了
下面是自己的步骤了
1、先停了MariaDB(依旧二选一)
systemctl stop mariadb
service mysql stop
2、备份原有的/f(之前出错无数次启动不起来都是用备份重新起来的,呵呵哒)
3、根据你的需求编辑/f(这里我的出错点就是socket,晚点再聊这个,先假设socket我没有设置参数)
这里的槽点就是socket,因为是以前就配置好的my.cnf,原本想直接导入,结果各种报错起不来,报错可以贴一下出来,下一段~
唔,systemctl启动的话会有报错的提示,然而并没有什么用,还是看error.log
14:48:04 584 [ERROR] Can't start server : Bind on unix socket: Permission denied
14:48:04 584 [ERROR] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
14:48:04 584 [ERROR] Aborting
报错信息看不懂……之前也百度过,非常可爱的是每个人都是写权限不够(呵呵哒,tmp路径权限不够个鬼!)
如果my.cnf里面是不改写socket的位置的话是OK的,解决方案待会儿出,先把步骤写完
4、如果有改datadir,tmpdir,,logdir之类的,把对应的目录建好,记得修改组和用户(下面只有一个的例子)
mkdir /data
cp -r /var/lib/mysql /data
-- 这里我直接把数据拷贝过来了
chown -R mysql:mysql /data/mysql5、启动MariaDB
6、附加步骤!(关于TokuDB引擎)
当你看到这样的一个报错,恭喜你这步对你有用!
(报错代码借用了另一个博主的,因为我的error.log清了……,既然借用了就也把他的那部分贴出来,因为也会有引用到)
http://blog.csdn.net/gua___gua/article/details/
:40:58 [ERROR] TokuDB: Huge pages are enabled, disable them before continuing
:40:58 [ERROR] ************************************************************
:40:58 [ERROR]
:40:58 [ERROR]
@@@@@@@@@@@
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
:40:58 [ERROR]
.._______,.
:40:58 [ERROR]
:40:58 [ERROR] TokuDB will not run with transparent huge pages enabled.
:40:58 [ERROR] Please disable them to continue.
:40:58 [ERROR] (echo never & /sys/kernel/mm/transparent_hugepage/enabled)
:40:58 [ERROR]
:40:58 [ERROR] ************************************************************
:40:58 [ERROR] Plugin 'TokuDB' init function returned error.
:40:58 [ERROR] Plugin 'TokuDB' registration as a STORAGE ENGINE failed.
:40:58 [ERROR] Unknown/unsupported storage engine: TokuDB
:40:58 [ERROR] Aborting
InnoDB: Starting shutdown...
InnoDB: S log sequence number 2238262
:40:59 [Note] /opt/mysql/bin/mysqld: Shutdown complete
:40:59 mysqld_safe mysqld from pid file /opt/mysql/data/kfpanda.pid ended
mariadb 10.1.13已经封装tokuDB,需要关闭内存大页功能
我的解决方法:
编辑/etc/rc.d/rc.local
touch /var/lock/subsys/local
if test -f /sys/kernel/mm/redhat_transparent_hugepage/ then
echo never & /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never & /sys/kernel/mm/transparent_hugepage/enabled
#因为有tokuDB,开机自启mysql失败,加入到rc.local中
/etc/init.d/mysql start
链接博主的解决方法:
echo never & /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/enabled
-- 确定为never就行了mysql.server
OK!最后的重点,socket!
记得之前的路径吗?share=/usr/share/mysql这个,mysql.server这个启动文件在这里!
跟着我做!
cp /usr/share/mysql/mysql.server /etc/init.d/mysql_test
service mysql_test start
启动成功,下班!不要问我为什么!因为我也没有搞懂!不知道是BUG还是我是不是哪一步做错了,如果是用yum安装之后配置好的启动程序,怎么都报错,但是自己重新拷贝一份,不用改!完全不用改,启动成功……有谁知道原因的也可以交流一下,表示也用diff对比过两者,没发现有区别 哈哈哈
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:26577次
排名:千里之外
原创:29篇
转载:17篇
(2)(1)(1)(2)(3)(2)(1)(1)(1)(1)(1)(7)(19)(5)博客访问: 1276123
博文数量: 201
注册时间:
认证徽章:
没有OCA、没有OCP、没有OCM .....
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: MySQL
mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法
官方mysql一个slave只能对应一个master,mariadb 10开始支持多源复制,一个slave可以有多个master,分别从各自的master复制不同的DB。
这个特性可以用在OLAP环境中,传统电商DB都是拆了再拆,分库分表,sharding,而OLAP环境或者大数据平台环境,通常需要各种数据的聚合,多个平台多个DB数据的复合查询,而这些数据分散在各个库中,怎么办了,当然通过应用程序可以实现聚合,但又没有更简单的方法,比如直接对各个server上的库,进行表字段的关联了。Mysql没有oracle的DBLINk的功能,而mysql虽然有federated引擎,但不太靠谱,而且麻烦,性能怎么样不可预知。
这个时候,mariadb的多源复制功能的优势就体现出来了。直接把多个server的db,复制到同一个slave上,所有库都有,想怎么关联就怎么关联。
其他使用场景:
两个独立的系统,通过接口,比如restful api或者soap,进行接口数据传递,经常有两边通讯数据不一致的场景,怎么核查数据了。除了查接口日志,可以使用多源复制,直接写sql关联两个库的通讯数据,到底是发送方传递数据还是接受方接收数据有问题,就很明显了。
DBA可以在同一个DB SERVER上查数,不用到各个server分别查数。
备份方便,集中在这台多源复制slave上进行备份,不用到各个server上去复制。
大数据抽数,集中在一个DB 平台上抽数,不用分散到各个DB server上抽数,当然抽数多了,IO扛不住,上ssd或者pcie 卡吧。
下面讲讲使用方法,建议看mariadb 10 多源复制官方文档吧,/kb/en/mariadb/mariadb-documentation/replication-cluster-multi-master/replication/multi-source-replication/
传统复制模式改多源复制:
stop slave ,show slave status 查看停止位置
change master 'conn_mall' to master_host='master ip',
MASTER_PORT=3306,master_user='', master_password='',
master_log_file='mysql-bin.000036', master_log_pos=;
start slave 'conn_mall';
show all slaves status \G 或者show slave 'conn_mall' status \G
新增加一个复制源:
源端导出 mysqldump --master-data=2
slave端导入
change master 'conn_erp' to master_host='master ip',
MASTER_PORT=3306,master_user='', master_password='',
master_log_file='mysql-bin.000470', master_log_pos=;
start slave 'conn_erp';
传统复制模式-》多源复制的命令变化
reset slave -& reset slave 'conn_erp',多个连接源名字
start slave -& start slave 'connection_name' 或者start all slaves
show slave status -& show slave 'conn_mall' status,或者 show all slaves status查看所有的slave连接状态
sql_slave_skip_couter -& stop slave 'connection_name',先指定连接源名称 set @@default_master_connection='connection_name';然后再set global sql_slave_skip_counter=1;最后start slave 'connection_name'
多源复制环境下的replicate-... variables 变量问题
可以在my.cnf replicate_ignore_db 前添加conn连接串前缀,比如 main_connection.replicate_ignore_db=ignore_database
若不加前缀,就是忽略所有同名的数据库,其他变量类推。
参考:/a/7471
阅读(5399) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 mysql 5.6 winx64.msi 的文章

 

随机推荐